web-dev-qa-db-ja.com

フランス語のアクセントの文字エンコード

フランスのクライアント向けに最初の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基本的にすべての場所でこれらの問題が発生しています。

ありがとう。

14
denislexic

intérêtintérêtと表示される場合は、UTF-8でエンコードされたテキストがISO-8859-1であるかのように表示されている可能性があります(つまり、ダブルエンコーディングのために破損していない)。

ヘッダーが正しく形成され、コンテンツがUTF-8でエンコードされていることを確認してください。

12
Artefacto

まず、ヘッダーの文字セットをもう一度UTF8にします。

ページで utf8_encode() を適切に使用して、データベースまたは外部ファイルからの値が適切にエンコードされていることを確認します(データベースのフィールドのエンコードをUTF8に設定してみてください上手)

また、 htmlentities() 関数を見て、特殊文字をhtmlエンティティに解析し、エンコードの問題も解決する場合があります。

5
Wilbo Baggins

フランス語を除く他のすべての言語は、デフォルトでうまく機能します

私の/fr/messages.phpファイルで、私はこれを解決することができました

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