PHP+MySQLストレージデータよくある中国語の文字化けし問題のまとめ

1308 ワード

この例では、PHP+MySQLストレージデータによく見られる中国語の文字化けしの問題についてまとめました.皆さんの参考にしてください.具体的には以下の通りです.
PHP+MySQLで中国語の文字化けしが発生するよくある原因:
1.MYSQLデータベースの符号化はutf 8であり、PHPページの符号化フォーマットと一致しないと、MYSQL中の中国語が文字化けしてしまう.
2.MYSQLでテーブルを作成する、またはフィールドを選択する際に設定するタイプはutf 8ではなく、ウェブページの符号化はutf 8ではなく、MYSQLの中国語の文字化けしてしまうこともある.
3.PHPページの文字セットがデータベースのエンコーディングと一致しない.
4.PHPはMYSQLデータベースに接続し、操作は設定された文で指定された符号化とページ符号化であり、PHPページ符号化は一致しない.
5.ユーザが提出したHTMLページの符号化は、表示データのページの符号化と一致しないと、PHPページの文字化けしてしまう.
中国語の文字化けし問題を解決する方法:
1.Webエンコードの設定.一般的にHTMLコードのヘッダーに属性を追加します.

 


保証、ウェブページは「utf-8」符号化です.
2.PHPコード設定.phpコードの開始部分に次のコードを追加します.

header("Content-type: text/html;charset=utf-8");


また、保存が要求されるファイルの符号化方式はutf-8(以下の図のようにEditPlusで設定を開くことができる)であり、このファイルもutf-8符号化であることが保証される.
3.データベースの表のフィールドに中国語が格納されている部分をutf 8_に設定するgeneral_ciタイプ.
4.PHPデータベース接続操作時、操作を設定するフィールドタイプはutf 8で、設定方法は以下の通りである.

mysql_connect('localhost','user','password');
mysql_select_db('db');
mysql_query("set names utf8"); //**     ***
mysql_query(    sql  );


本稿で述べたphpプログラム設計に役立つことを願っています.