Вход:  Пароль:  
FreeSource: AltLinux/Sisyphus/admin/MySQL ...
Free Source | Каталог | Изменения | НовыеКомментарии | Пользователи | Регистрация |
Эта страница была перенесена на altlinux.org. Текст на freesource.info заморожен.

MySQL

Оптимизация настроек MySQL + Apache для нагруженного сервера

О кодировках в MySQL 5.x


В ALT:
1. Кодировка, передаваемая через параметр -C в mysqld, задаётся через CHSET в /etc/sysconfig/mysqld, либо определяется по системной локали.
Это --character-set-server – кодировка, используемая _сервером_ по умолчанию.
Как нужно настроить сервер, чтобы по умолчанию кодировка была cp1251, но это можно было переопределять на utf8?


Кодировку и таблицу сортировки, используемые по умолчанию в сервере, лучше задавать в my.cnf:
character_set_server = utf8
collation_server = utf8_general_ci


Для клиентов (например, команды mysql) кодировка указывается в секции [client] файла my.cnf:
[client]
default-character-set=cp1251


При открытии соединения с базой нужно указывать кодировку, в которой клиент будет работать с базой. Это можно сделать строкой
init-connect="SET NAMES cp1251"
в my.cnf. Команда set names устанавливает при подсоединении такие переменные как set_client, set_result, collaction_client
Что позволяет серверу корректно воспринимать запросы и возвращать ответы.


Обратите внимание, что имена (таблиц и полей) хранятся в сервере в кодировке utf8 и это неизменяемо.
Что насчёт их кодировки в запросе?


TODO: нужно перенести страницу в документацию.
Ссылок на эту страницу нет


 
Файлов нет. [Показать файлы/форму]
Комментариев нет. [Показать комментарии/форму]