Назад | Перейти на главную страницу

Где соединение PHP / MySQL принимает кодировку по умолчанию?

я использую mysql_connect в базу данных, определенную исключительно в UTF-8. Куда бы я ни посмотрел в конфигурации, я вижу UTF-8 Unicode (utf8) или utf8_general_ci.

Однако, когда я открываю соединение PHP, используйте echo mysql_client_encoding();, Я получил latin1 как результат, что довольно неожиданно. Это взято из какой-то конфигурации PHP / Apache?

В /etc/mysql/my.cnf добавьте эту строку под [клиент]

default-character-set=utf8 

Вы должны установить кодировку для вашего соединения PHP MySQL, так как оно не читает ее из определения вашей таблицы / базы данных. Делай это так:

mysql_set_charset('utf8',$link);
// or in OOP style:
$mysqli->set_charset('utf8');