Проблема с французскими ударными символами UTF-8

Когда я вижу данные, хранящиеся в базе данных mysql, используя phpmyadmin, символы сохраняются точно как é à ç, однако, когда я использую php для отображения этих данных в html-документе, который имеет следующую структуру:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> </head> <body> </body> </html> 

Я получил квадрат вместо акцентированного персонажа, однако у меня нет этой проблемы с любыми акцентированными символами статического содержимого, которые не были загружены из mysql на той же странице.

когда я вижу в исходном коде страницы, они кажутся одинаковыми! например:

часть статических данных в исходном коде, отображаемая как:

 éçà 

часть данных происхождения mysql:

 éçà 

я попытался заменить

 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 

с

 <meta http-equiv="Content-Type" content="text/html; charset=windows-1552" /> 

и в результате я получил mysql один фиксированный, статический с квадратами!

любые подсказки?

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

 SET NAMES utf8; SET CHARACTER SET utf8; 

А также убедитесь, что для каждой таблицы установлено значение CHARACTER SET для UTF-8 .

Или вы также можете обновить конфигурацию сервера .

Похож на проблему неправильной настройки. Скорее всего, ваши DB или драйверы не используют UTF-8.

Тот факт, что данные, поступающие из БД, показывают ОК, когда вы переходите на windows-1552 а статические файлы не могут означать, что ваш исходный файл (правильно) находится в UTF-8, но данные из вашей БД поступают в неправильный формат кодирования.

Что бы ни происходило, придерживайтесь UTF-8.

UPDATE: существует поток, который объясняет, как автоматически установить кодировку для соединения:

Изменить символ по умолчанию MySQL на UTF-8 в my.cnf?