Правильный набор символов MySQL / переменные сопоставления в my.cnf? - PullRequest
0 голосов
/ 29 июля 2010

Я пытаюсь полностью переключить свой сайт на UTF-8, поэтому мне не приходится иметь дело с функциями utf8_encode () и utf8_decode ().

У меня правильно настроены параметры сортировки таблиц, и я временно использую запрос SET NAMES utf8 для переопределения файла my.cnf.

Мой вопрос - в my.cnf есть тонна набора символов и параметров сортировки, и я подозреваю, что некоторые из них следует оставить в покое ... какие из них следует изменить, чтобы добиться эффекта SET NAMES utf8?

(сопоставление моих таблиц utf8_unicode_ci.)

character_set_client | latin1 |
character_set_connection | latin1 |
character_set_database | latin1 |
character_set_filesystem | binary |
character_set_results | latin1 |
character_set_server | latin1 |
character_set_system | utf8 |

collation_connection | latin1_swedish_ci |
collation_database | latin1_swedish_ci |
collation_server | latin1_swedish_ci |

1 Ответ

0 голосов
/ 29 июля 2010

Ну, сортировка в первую очередь для сортировки, поэтому, если вы не храните язык с конкретными потребностями сортировки, utf8_unicode_ci должно быть в порядке.

Значения character_set_* используются для всех других строковых операций внутри - проверка значений в таких местах, как предложения WHERE или оператор IF / CASE, строковые функции, такие как CHAR_LENGTH (), REPLACE (), SUBSTRING () - такие вещи.

Вообще говоря, они должны все быть одинаковыми (в данном случае utf8), за исключением файловой системы - я бы рекомендовал сохранять это в двоичном формате, если у вас нет определенного нужно отойти от этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...