Spec-Zone .ru
спецификации, руководства, описания, API
|
Можно изменить набор символов сервера значения по умолчанию и сопоставление с --character-set-server
и --collation-server
опции, когда Вы запускаете сервер. Сопоставление должно быть
юридическим сопоставлением для набора символов значения по умолчанию. (Используйте SHOW COLLATION
оператор, чтобы определить, какие сопоставления доступны для
каждого набора символов.) См. Раздел 5.1.3, "Опции Команды Сервера".
Если Вы пытаетесь использовать набор символов, который не компилируется в Ваш двоичный файл, Вы могли бы столкнуться со следующими проблемами:
Ваша программа использует неправильный путь, чтобы определить, где наборы символов
сохранены (который обычно является share/mysql/charsets
или share/charsets
каталог в соответствии с каталогом установки MySQL). Это
может быть фиксировано при использовании --character-sets-dir
опция, когда
Вы выполняете рассматриваемую программу. Например, чтобы определить каталог, который будет
использоваться клиентскими программами MySQL, перечислите это в [client]
группа Вашего файла опции. Примеры, данные здесь, показывают то, на что установка могла бы быть похожей
для Unix или Windows, соответственно:
[client]character-sets-dir=/usr/local/mysql/share/mysql/charsets[client]character-sets-dir="C:/Program Files/MySQL/MySQL Server 5.7/share/charsets"
Набор символов является сложным набором символов, который не может быть загружен динамически. В этом случае следует перекомпилировать программу с поддержкой набора символов.
Для наборов символов Unicode можно определить сопоставления, не перекомпилировав при использовании нотации LDML. См. Раздел 10.4.4, "Добавляя Сопоставление UCA к Набору символов Unicode".
Набор символов является динамическим набором символов, но у Вас нет конфигурационного файла для него. В этом случае следует установить конфигурационный файл для набора символов от нового распределения MySQL.
Если Ваш индексный файл набора символов не содержит имя для набора символов, Ваша
программа выводит на экран сообщение об ошибке. Файл называют Index.xml
и
сообщение:
Character set 'charset_name
' is not a compiled character set and is notspecified in the '/usr/share/mysql/charsets/Index.xml' file
Чтобы решить эту проблему, следует или получить новый индексный файл или вручную добавить имя любых недостающих наборов символов к текущему файлу.
Можно вынудить клиентские программы использовать определенный набор символов следующим образом:
[client]default-character-set=charset_name
Это является обычно ненужным. Однако, когда character_set_system
отличается от character_set_server
или character_set_client
, и Вы вводите символы вручную (как идентификаторы объекта
базы данных, значения столбцов, или оба), они могут быть выведены на экран неправильно в выводе от клиента, или
сам вывод может быть отформатирован неправильно. В таких случаях, запуская mysql клиент с --default-character-set=
— то есть, установка клиентского
набора символов, чтобы соответствовать системный набор символов — должна решить проблему. system_character_set
Для MyISAM
таблицы, можно проверить имя и номер набора символов на таблицу с myisamchk-dvv tbl_name
.