1

PHPで小さなニュースレターを書いています

私は PHP を使用してhtmlentities($str)いるので、クライアントのメールのエンコードに問題はありません。

これ$strはmysqlから出てきています。

私はそれがクライアントでóあるはずのときを参照してください。ó

また、ニュースレターにテキストを書いていますがecho "ó";、クライアントでは として表示されóます。

$strそれから、適用する前に何らかの治療をしhtmlentitiesなければならないと思いますが、どうすればよいかわかりません。

何が悪いのか(どのような治療をすればよいのか)をどうやって知ることができ$strますか?

4

1 に答える 1

3

これで問題は解決します

https://stackoverflow.com/a/10539209/912450

//You must manually specify the encoding (UTF-8) for htmlentities()
echo htmlentities($str, null, "UTF-8");

問題は (ドキュメントによると) UTF-8 が指定されていない場合、5.4.0 より前の PHP バージョンでは ISO-8859-1 が のデフォルトのエンコーディングであるようですhtmlentities

$strUTF8 でエンコードされている場合、PHP>=5.4.0 でのみ正常に動作します。エンコードが指定されていない場合のデフォルトのエンコードは UTF-8ですhtmlentities

于 2013-02-13T16:47:00.130 に答える