App.encoding を UTF-8 に設定した CakePHP を使用しています。これ<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
は<head>
、MySQL データベースに UTF-8 Unicode Encoding と utf8_general_ci 照合に設定されています。"encoding"=>"UTF8"
database.php 接続の詳細にもあります。
「£」記号をデータベース テーブルに保存し、コマンド ライン MySQL を使用して表示すると、文字が正しく表示されます。
CakePHP を使用してデータベース テーブルから行をフェッチし、Web サイトに出力すると£
、意図した£
シンボルの代わりに表示されます。
ただしutf8_decode()
、データを出力するために使用すると、正しく表示されます。
これは正しいです?htmlentities() を使用して £ 記号を変換しようとしまし£
たが、代わりに出力され£
ます! charset に追加のパラメーターを使用する場合でも。
おそらく誰かが助けることができます-ここで何かを見逃したに違いありませんが、すべてのヘッダー、メタタグなどが一貫してUTF-8である場合、文字は(テキストエリアHTMLタグなどで)正しく表示されるはずだと思いましたか?