ホームページ > バックエンド開発 > PHPチュートリアル > php、ajax、mysql、latin1 エンコーディングに関連する問題

php、ajax、mysql、latin1 エンコーディングに関連する問題

WBOY
リリース: 2016-06-13 13:51:51
オリジナル
1032 人が閲覧しました

php、ajax、mysql、latin1 エンコーディングの問題
Mysql のデフォルトは latin1 エンコーディングです。ajax でデータを読み取ると、サーバー側の ajax.php でエンコーディングに関係する 2 つの場所が発生します。 > a .header( 'Content-type: text/xml;charset=utf-8 ');
b. クエリ時に、mysql_query( "set names 'UTF8 ' "); ajax.php 自体も utf-8 でエンコードされています。

レコードはクエリできますが、XML ソース コードを表示すると次のようになります:
²èµê× xD3; Õý½ÖÅɳöËù

たくさん試しましたエンコーディングの変換に失敗しました。助けてください。 ! ! ! !


-----解決策---------

xml にも utf8 エンコーディングを追加してみてください
------解決策---------
Mysql のデフォルトの latin1 エンコーディングが utf-8 に変更されました
クライアントサイドのHTMLはutf-8を使用しています 送信時にエビのようになっていても、クライアント上で正常に表示できればOKです。
------解決策----------------------

マルチバイト文字には LATIN1 を使用しないでください。 UTF8またはGBKの使用をお勧めします
------解決策-----
最高の統一エンコード形式~~
------解決策---------
iconv() を使用して次のことを行うことはできませんか?エンコーディングを統一しますか?
------解決策------
b. クエリを実行するときに、mysql_query( "set names 'UTF8 ' ");
これは mysql_query( "set names 'UTF-8 ' "); である必要があります。
ajax.php は XML を出力し、iconv() を使用してそれをデコードします。

$xml = "出力する xml データ";

echo iconv( "latin1 ", "utf-8 ",$xml);

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート