поиск:
Полезные ссылки

  • Форум по MySQL

  • Статьи по MySQL

  • Вопросы по MySQL

  • MySQL.com


  • Базы данных

  • MySQL

  • PostgreSQL


  • PHP конференция 2005
    Подробности!

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

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

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

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

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

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

    При подключении клиента к серверу 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
    

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

     
    © 1997-2005 PHP Club Team
    Rambler's Top100