2012-01-22 33 views
0

私はPHPを介してこれらの文字を送信しようとしている:PHP - 特殊文字

áéÃóúüchlñAAAAA

:彼らはこのように受信した電子メールに表示さ

áéíóúüchlñÁÉÍÓÚÜCLÑ 

私はhtmlentitiesを試しましたが、成功しませんでした。

$newsubject = htmlentities($subject, ENT_COMPAT, "UTF-8"); 
mail($notes,$newsubject,$message,$headers); 

誰も私が試すことができるアイデアはありますか? ありがとう

+0

あなたは電子メールにHTMLのヘッダを追加しましたか? –

答えて

0

あなたはUTF-8としてそれらを送信しようとしていますが、あなたのPHPはそれらをlatin-1として処理しています。

入力文字列でutf8_encodeを呼び出して、UTF-8として再度処理します。

編集:質問が間違っています。送信しているメールにヘッダーを追加してください:
Content-Type: text/plain; charset=utf-8

0

文字自体に文字セットが間違っています。これを試してみてください:(Windows)「UTF-8文字セット」サイトの文字をコピーしてアプリケーションに貼り付けてください。あなたのdoucumentがUTF-8で、BOM署名が無効であることを確認してください。

2

私はMIME(Multipurpose Internet Mail Extensions)を使用する必要があると思います。

は、メールヘッダには、以下を追加します。

MIME-Version: 1.0 
Content-Type: text/plain;charset=utf-8