Сообщения об ошибках на языках, отличных от английского
mysqld может выдавать сообщения об ошибках на следующих языках: чешском, датском, голландском, английском (по умолчанию), эстонском, французском, немецком, греческом, венгерском, итальянском, японском, корейском, норвежском, новонорвежском, польском, португальском, румынском, русском, словацком, испанском и шведском.
При запуске mysqld выбрать определенный язык можно при помощи настройки --language=язык или -L язык . Например:
shell> mysqld --language=swedish или: shell> mysqld --language=/usr/local/share/swedish
Обратите внимание: названия языков вводятся в нижнем регистре.
Файлы языков по умолчанию располагаются в папке "mysql_base_dir/share/LANGUAGE/".
Для того чтобы изменить тексты сообщений об ошибках, нужно отредактировать файл "errmsg.txt" и запустить следующую команду для генерации нового файла "errmsg.sys":
shell> comp_err errmsg.txt errmsg.sys
Установив новую версию MySQL, не забудьте внести те же изменения в новый файл "errmsg.txt".
Добавление набора символов
Снабдить MySQL новым набором символов можно следующим образом.
Определите, является ли новый набор символов простым или сложным. Если для работы с этим набором никаких специальных процедур обработки строк и поддержки многобайтовых символов не требуется, он является простым. Если вышеперечисленные возможности необходимы, этот набор символов относится к сложным.
Например, наборы latin1 и danish - простые, а big5 и czech - сложные.
Для всех приведенных ниже примеров предполагается, что используемый набор символов называется MYSET .
Для создания простого набора достаточно сделать следующее:
Вставьте имя MYSET в конец файла "sql/share/charsets/Index" и присвойте этому набору символов уникальный номер.
Создайте файл "sql/share/charsets/MYSET.conf". (в качестве основы можно использовать файл "sql/share/charsets/latin1.conf"). Правила составления этого файла очень просты:
Комментарием считается целая строка, начинающаяся с символа "#".
Слова разделяются любым количеством непечатаемых символов.
При определении набора символов каждое слово должно представлять собой число в шестнадцатеричной системе счисления.
Массив ctype занимает первых 257 слов. За ним следуют массивы to_lower , to_upper и sort_order , каждый из которых занимает 256 слов.
См. раздел Массивы определения символов .
Добавьте имя набора символов в списки CHARSETS_AVAILABLE и COMPILED_CHARSETS файла "configure.in".
Перенастройте, перекомпилируйте и протестируйте систему.
Для создания сложного набора необходимо выполнить следующие действия:
Создайте файл strings/ctype-MYSET.c в исходном дистрибутиве MySQL.
Вставьте имя MYSET в конец файла sql/share/charsets/Index и присвойте этому набору символов уникальный номер.
Просмотрите один из существующих файлов ctype-*.c (например strings/ctype-big5.c) и узнайте, что нужно определить. Не забывайте, что имена массивов в вашем файле должны быть похожи на следующие: ctype_MYSET, to_lower_MYSET и т.п. Эти имена соответствуют именам массивов из простого набора символов (См. раздел Массивы определения символов ).
В начале файла целесообразно поместить комментарий наподобие следующего:
/* этот комментарий разбирается configure для создания ctype.c, поэтому не меняйте его, если не уверены в правильности своих действий. * .configure. number_MYSET=MYNUMBER .configure. strxfrm_multiply_MYSET=N .configure. mbmaxlen_MYSET=N */
Программа configure использует этот комментарий для линкования набора символов с библиотекой MySQL. Значение строк strxfrm_multiply и mbmaxlen будет разъяснено ниже. Использовать их нужно только в том случае, если вам нужны функции для сортировки строк или работы с многобайтовыми наборами символов соответственно.
После этого нужно создать некоторые из следующих функций:
my_strncoll_MYSET()
my_strcoll_MYSET()
my_strxfrm_MYSET()
my_like_range_MYSET()
Смю раздел Поддержка упорядочивания строк.
Добавьте имя набора символов в списки CHARSETS_AVAILABLE и COMPILED_CHARSETS файла "configure.in".
Перенастройте, перекомпилируйте и протестируйте систему.
Более подробные инструкции приведены в файле 'sql/share/charsets/README".
Если вы хотите, чтобы ваш набор символов был включен в комплект поставки MySQL, вышлите патч с ним по адресу internals@lists.mysql.com.
1 2 3
8 8 8
| |