Связь и интернет Архив Программирование
   
Сделать стартовойСделать закладку            
   ПОИСК  
   
Главная / MySQL / Администрирование баз данных /
8  Perl
8  PHP
8  JavaScript
8  HTML
8  DHTML
8  XML
8  CSS
8  C / C++
8  Pascal и Delphi
8  Турбо Ассемблер
8  MySQL
8  CASE-технологии
8  Алгоритмы
8  Python
8  Обратная связь
8  Гостевая книга
Новости о мире


Локализация MySQL и использование национальных алфавитов - Программирование от RIN.RU
Локализация MySQL и использование национальных алфавитов




Набор символов, применяющийся для записи данных и сортировки


По умолчанию в MySQL используется набор символов ISO-8859-1 (Latin1) с сортировкой согласно шведским/финским правилам. Этот набор символов также подходит для использования в США и Западной Европе.


Все стандартные исполняемые файлы MySQL компилируются с настройкой --with-extra-charsets=complex. Таким образом в файл помещается код, позволяющий всем стандартным программам работать с набором символов latin1, а также многобайтовыми наборами символов. Другие наборы символов могут загружаться из соответствующих файлов определений по необходимости.


Набор определяет, какие символы могут использоваться в именах, а также способ сортировки значений в операторах ORDER BY и GROUP BY команды SELECT.


При запуске сервера можно изменить набор символов при помощи параметра --default-character-set. Выбрать доступные наборы символов можно при помощи параметров --with-charset=charset и --with-extra-charset= list-of-charset | complex | all, и файлов наборов символов, перечисленных в SHAREDIR/charsets/Index. См. раздел Типичные опции configure.


При смене набора символов во время работы MySQL (что может одновременно изменить и порядок сортировки) необходимо запустить команду myisamchk -r -q для всех таблиц. В противном случае индексы могут быть созданы в неправильном порядке.


При подключении клиента к серверу MySQL сервер отправляет ему используемый по умолчанию набор символов. На время соединения клиент переключается на использование этого набора.


Для экранирования строк в SQL-запросе необходимо пользоваться функцией mysql_real_escape_string(). mysql_real_escape_string() идентична старой функции mysql_escape_string() - во всем, кроме одного: в качестве первого параметра она принимает дескриптор соединения MYSQL.


Если клиент был скомпилирован с набором путей, в которых не было пути установки сервера, а настраивавший MySQL пользователь на включил в исполняемый файл системы все наборы символов, клиенту необходимо сообщить о местонахождении дополнительных наборов символов, которые нужны ему для общения с сервером.


Сделать это можно путем внесения в файл настроек MySQL следующей строки:


[client]
character-sets-dir=/usr/local/mysql/share/mysql/charsets


путь в ней указывает на каталог, в котором хранятся динамические наборы символов MySQL.


Заставить клиента использовать определенный набор символов можно следующим образом:


[client]
default-character-set=character-set-name


но обычно этого не требуется.


Набор символов немецкого алфавита


Для задания порядка сортировки в соответствии с немецким алфавитом нужно запустить mysqld с параметром --default-character-set=latin_de.


При сортировке и сравнении строк осуществляется следующая подстановка:


Д -> ae
Ж -> oe
Э -> ue
ъ -> ss


Все символы с диакритическими знаками заменяются их аналогами из верхнего регистра и без ударения. Все буквы переводятся в верхний регистр.


При сравнении строк с помощью команды LIKE, подстановки двух символов вместо одного не происходит. Все буквы переводятся в верхний регистр. Диакритические знаки снимаются со всех букв, кроме: э, Э, ж, Ж, д и Д.


Вперед  >>>
 1  2  3 


 8  Комментарии к статье  8 8  Обсудить в чате

8  В тему

Конфигурирование MySQL

Общие проблемы безопасности и система привилегий доступа MySQL

Управление учетными записями пользователей MySQL

Предотвращение катастроф и восстановление

Справочник по языку администрирования баз данных

Серверные сценарии и утилиты MySQL

Клиентские сценарии и утилиты MySQL

Файлы журналов MySQL

Репликация в MySQL

 
  
  
    Copyright ©  RIN 2003 - 2004      * Обратная связь