Почему я должен использовать mb_convert_encoding($name,'ISO-8859-15','utf-8'), чтобы получить акцентированные символы для отображения?

Данные, с которыми я здесь работаю, находятся за пределами страницы, использующей кодировку utf8

я настроил свою базу данных и поля для использования utf8_general_ci

теперь по какой-то причине я должен использовать следующий код для переменной, чтобы она правильно отображала символы ударения в базе данных:

mb_convert_encoding($name,'ISO-8859-15','utf-8');

это не имеет смысла для меня. Почему я должен преобразовать его в ISO-8859-15, когда phpmyadmin находится в utf8, данные в utf8, а поля базы данных и таблицы в utf8?

1 ответ

Решение

Скорее всего, вы не установили соединение с базой данных на UTF-8, поэтому ваша база данных ожидает, что вы отправите данные в кодировке ISO-8859. См. http://dev.mysql.com/doc/refman/5.0/en/charset-connection.html

Другие вопросы по тегам