MySQL: различия между версиями
(Import from freesource.info) |
Нет описания правки |
||
Строка 1: | Строка 1: | ||
[[Category:Admin]] | [[Category:Admin]] | ||
{{ | {{stub}} | ||
{{викифицировать}} | |||
== MySQL == | == MySQL == | ||
Строка 27: | Строка 28: | ||
Обратите внимание, что имена (таблиц и полей) хранятся в сервере в кодировке utf8 и это неизменяемо. | Обратите внимание, что имена (таблиц и полей) хранятся в сервере в кодировке utf8 и это неизменяемо. | ||
''Что насчёт их кодировки в запросе?'' | ''Что насчёт их кодировки в запросе?'' | ||
Версия от 19:22, 30 июля 2008
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 и это неизменяемо. Что насчёт их кодировки в запросе?