я использую 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');