2

Web サイトを UTF-8 に変換しようとしました。そのために、PHP ファイルを UTF-8 に変換し、HTML ヘッダーに をheader('Content-Type: text/html; charset=utf-8')追加<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />し、mysql テーブル コンテンツを utf-8 (ALTER ...) に変換し、MySQL 接続エンコーディングを utf- に設定しました。 8.

現在、すべて問題ないように見えますが、IE8、Firefox、および Chrome では、ドイツ語のウムラウトの代わりに � が表示されることがあります。IE9 では、この問題はまったく表示されません。

更新後、問題は解決されますが、しばらくまたは数回更新すると、� が再び表示されます....

何か案は?

4

2 に答える 2

0

多くの場合、このような動作はIEの癖モードが原因で発生します。ページが有効なHTMLでない場合、ブラウザはquirksmodeにフォールバックできます。これを確認するには、F12キーを押して開発者ツールバーを表示します。

表示されているモードがquirksmodeの場合は、有効なHTMLを記述して問題を解決できます。オフラインとオンラインのHTMLバリデーターが利用可能です。

表示されているモードがブラウザと一致する場合は、W3チェッカーを使用してページのエンコードに関する問題を見つけることができます。

編集:

また、使用する前に、接続オブジェクトのエンコーディングを設定してください。MySQL接続をutf-8に設定したと書きましたが、それをどのように行ったかは書きませんでした。

// tells the mysqli connection to deliver UTF-8 encoded strings.
$db = new mysqli($dbHost, $dbUser, $dbPassword, $dbName);
$db->set_charset('utf8');
于 2012-11-29T12:46:33.707 に答える
0

はい、わかった!

問題は、組み込みの Ad-Server (OpenX) によって mysql クライアントのエンコーディングが変更されたことです。

今、「view_local」が実行された後、文字セットを UTF-8 に戻しましたが、すべて問題ないようです!

この問題の根本原因を見つけるのに役立つサポートに感謝します!

于 2012-12-07T11:15:46.500 に答える