Кодировка символов для французских акцентов - PullRequest
12 голосов
/ 17 апреля 2011

Я разрабатываю свой первый веб-сайт для французского клиента, и у меня возникают серьезные проблемы с отображением акцентов в виде «?». После нескольких дней поиска в Google, я думал, что понял, но проблемы сохраняются.

Чтобы упростить это, я объясню только заголовки писем (сообщение содержит французские акценты)

    $headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

Я пытался использовать кодировку UTF-8 и iso-8859-1, но я все еще получаюэтот тип писем:

Merci pour votre intérêt pour les tee shirts. 

Может кто-нибудь помочь?У меня такие проблемы с mySql, HTML, PHP в основном везде.

Спасибо.

Ответы [ 3 ]

11 голосов
/ 17 апреля 2011

Если intérêt отображается как intérêt, вы, вероятно, (то есть, из-за повреждения из-за двойного кодирования) текст UTF-8 отображается так, как если бы это был ISO-8859-1.

Убедитесь, что заголовки правильно сформированы и представляют содержимое в кодировке UTF-8.

5 голосов
/ 17 апреля 2011

Прежде всего, сделайте кодировку снова в заголовке UTF8.

На вашей странице используйте utf8_encode(), где это необходимо, чтобы убедиться, что значения, поступающие из базы данных или внешних файлов,правильно закодированы (попробуйте также установить кодировку полей в вашей базе данных в UTF8)

Кроме того, взгляните на функцию htmlentities() для анализа специальных символов в HTML-объектах, которыеможет решить проблемы с кодировкой.

1 голос
/ 16 августа 2018

Все остальные языки, кроме французского, прекрасно работают по умолчанию для меня

В моем файле /fr/messages.php я смог решить эту проблему с помощью

'myKey' => utf8_encode('en français'),
...