2012-04-13 17 views
1

私は元々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ページに改行を表示しない改行文字&#x0D;です。出力をエコーし​​ていますが、phpMyAdminのレコードを見ると、改行が表示されます(Firebugを使用して、テキストには<br>タグが付いています)。

私は間違っていますか?次のメタタグを使ってHTMLページのエンコードを設定しようとしましたが、どちらもうまくいきませんでした。

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 

答えて

2

nl2br()を使用するとどうなりますか?

echo nl2br($output); 
+0

命を救う人!これは機能します。ありがとうございました! –

1

nl2br()を使用して改行を改行にするのを忘れてしまいます。

+0

あなたは正しいです。ヒントをありがとう! –

関連する問題