mysql: SET NAMES utf8 на каждом соединении? - PullRequest
5 голосов
/ 09 марта 2011

Я использую следующий оператор на каждой странице PHP, чтобы установить соединение в Unicode:

mysql_query ('SET NAMES utf8');

Есть ли способ, которым я могу пропустить это?Установив что-то на сервере?У меня есть VPS, поэтому я должен иметь доступ ко всему.

Я предположил, что реальный вопрос: мне нужно?Ускорит ли это, я пропущу это утверждение для каждой доставляемой HTML-страницы?

Ответы [ 3 ]

8 голосов
/ 09 марта 2011

Вы можете изменить конфигурацию mysql (my.cnf)

[client]
default-character-set=utf8

[mysqld]
default-character-set=utf8
2 голосов
/ 09 марта 2011

Нет никакого вреда и практически нулевое влияние на производительность, выполняя эту команду всякий раз, когда вы запускаете новое соединение.

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

1 голос
/ 09 марта 2011

Почему бы вам просто не включить конфигурационный файл на каждой странице, который содержит все, что связано с созданием соединения с БД?

Эта строка не обязательна, потому что вы действительно можете испортить кодировку данных в БД(был там, сделал это:))

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