私は元々latin1_swedish_ci
でエンコードされたMySqlテーブルを持っています。私のアプリケーションではUnicode文字が使用されているので、utf8データを格納するカラムをutf8_unicode_ci
照合に更新し、テーブルの照合順序をutf8_unicode_ci
(utf_8を扱わない他のすべてのカラムはlatin1_swedish_ci
照合のまま)に変更しました。phpMyAdminではUTF-8改行が表示されますが、Webページでは表示されません
入力が弾丸のようなUTF-8文字を使用したXMLとして来る - とPHPのDOMDOCUMENTのloadXML()関数は、入力のUTF-8エンコーディングを必要とするので、私は
$doc->loadXML(utf8_encode($Input));
として解析する前に、XMLをコードしています今、utf-8データをテーブルの列に挿入する前に、PHPのutf8_decode()
関数を使用してデータを正しく格納しています。 (私がこれをしなければ、私がウェブページに表示するときに弾丸の文字が迷惑な文字として表示されています)。
問題は、Webページに改行を表示しない改行文字
です。出力をエコーしていますが、phpMyAdminのレコードを見ると、改行が表示されます(Firebugを使用して、テキストには<br>
タグが付いています)。
私は間違っていますか?次のメタタグを使ってHTMLページのエンコードを設定しようとしましたが、どちらもうまくいきませんでした。
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
命を救う人!これは機能します。ありがとうございました! –