MySQL: различия между версиями
(викификация) |
Нет описания правки |
||
Строка 1: | Строка 1: | ||
[[Категория:Admin]] | [[Категория:Admin]][[Category:MySQL]] | ||
{{stub}} | {{stub}} | ||
Строка 5: | Строка 5: | ||
В ALT Linux кодировка, передаваемая через параметр -C в mysqld, задаётся через CHSET в /etc/sysconfig/mysqld, либо определяется по системной локали. | В ALT Linux кодировка, передаваемая через параметр -C в mysqld, задаётся через CHSET в /etc/sysconfig/mysqld, либо определяется по системной локали. | ||
Это --character-set- | Это --character-set-server — кодировка, используемая '''сервером''' по умолчанию. | ||
Как нужно настроить сервер, чтобы по умолчанию кодировка была cp1251, но это можно было переопределять на utf8? | Как нужно настроить сервер, чтобы по умолчанию кодировка была cp1251, но это можно было переопределять на utf8? | ||
Версия от 13:58, 5 февраля 2009
О кодировках в MySQL 5.x
В ALT Linux кодировка, передаваемая через параметр -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 и это неизменяемо. Что насчёт их кодировки в запросе?
Ссылки
Оптимизация настроек MySQL + Apache для нагруженного сервера