Интернационализация MySQL с помощью DCM4CHEE - PullRequest
1 голос
/ 28 января 2009

Я пытаюсь интернационализировать dcm4chee (основанное на Java хранилище медицинских изображений с открытым исходным кодом для системы) с MySQL, и у меня есть ряд вопросов.

Вот что я знаю до сих пор 1. Мне нужно изменить набор символов с latin1 на utf8 (для поддержки всех международных символов) в MySQL 2. Я почти уверен, что хочу установить параметры сортировки в utf8_unicode_ci

Вот что мне нужно знать 1. Как / когда я должен делать эти вещи? а. Можно ли внести эти изменения в существующие таблицы? б. Если да, то как мне это сделать? с. Нужно ли вносить эти изменения только один раз за всю жизнь базы данных? д. Внесенные изменения коснутся только будущих записей или всех записей? 2. Как изменить настройки по умолчанию для будущих установок dcm4chee для использования utf8? 3. Из моего исследования выяснилось, что изменение набора символов и параметров сортировки для использования достаточно широкого набора символов (utf8) - это все, что мне нужно для интернационализации MySQL. Это правда? Если нет, что еще я должен сделать?

Спасибо, любая помощь с этим будет принята с благодарностью

1 Ответ

1 голос
/ 16 февраля 2009

Я не эксперт, но в прошлом мне приходилось менять кодировку / сопоставление в моих базах данных.

  1. a) Вы можете вносить изменения в таблицы MySQL в любое время. Сделайте резервную копию базы данных перед внесением изменений.

    b) SQL-запрос от Проблемы, с которыми каждый разработчик сталкивается каждый день :

    ALTER TABLE db_table CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

    в) Должен быть изменен только один раз. При создании новых таблиц убедитесь, что они созданы с правильной кодировкой.

    d) Изменения коснутся будущих / существующих записей (хотя, если в результате предыдущей кодировки более старые записи таблицы будут символами мусора, а не предполагаемыми символами UTF8, это изменение волшебным образом не изменит их в запланированное состояние).

  2. Извините, но я никогда не использовал dcm4chee. Если базы данных предварительно собраны и связаны с установкой, вам придется изменить прилагаемую базу данных. Если БД создается при установке программного обеспечения, вам нужно найти этот раздел исходного кода и изменить SQL-запрос «CREATE TABLE ...», чтобы он создавал таблицы с соответствующей кодировкой. Хорошей идеей будет поиск «CREATE TABLE» в каждом исходном файле, чтобы быть уверенным, что ни один из них не будет пропущен.

  3. В моем ограниченном опыте работы с MySQL изменение charset / collation достаточно для интернационализации БД. У меня был только опыт работы с базами данных на китайском и английском языках, хотя в каждом случае у меня не возникало проблем после смены кодировки / сопоставления.

...