Кодировка символов для французских акцентов
Я разрабатываю свой первый веб-сайт для французского клиента, и у меня возникли серьезные проблемы с акцентами, отображаемыми как "?". После нескольких дней поиска в 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 answers
Если intérêt
отображается как intérêt
, скорее всего, у вас (т.Е. Без повреждения из-за двойного кодирования) отображается текст в кодировке UTF-8, как если бы он был ISO-8859-1.
Убедитесь, что заголовки правильно сформированы и представляют содержимое в кодировке UTF-8.
Прежде всего, снова сделайте кодировку в заголовке UTF8.
На своей странице используйте utf8_encode()
при необходимости убедитесь, что значения, поступающие из базы данных или внешних файлов, правильно закодированы (попробуйте также установить кодировку полей в вашей базе данных в UTF8)
Кроме того, взгляните на htmlentities()
функция для анализа специальных символов в html-объекты, которые также могут решить проблемы с кодировкой.
Все остальные языки, кроме французского, по умолчанию работают для меня нормально
В моем/fr/messages.php файл, который я смог решить с помощью
'myKey' => utf8_encode('en français'),