フランスのクライアント向けに最初のWebサイトを開発していて、アクセントが "?"と表示されるという大きな問題があります。
簡単にするために、メールのヘッダーのみを説明します(メッセージにはフランス語のアクセントが含まれています)。
$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基本的にすべての場所でこれらの問題が発生しています。
ありがとう。
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'),