ホームページ  >  記事  >  バックエンド開発  >  専門家のアドバイスを求めています: PHP 中国語データベースに関連する文字化けの問題

専門家のアドバイスを求めています: PHP 中国語データベースに関連する文字化けの問題

WBOY
WBOYオリジナル
2016-06-13 13:45:57720ブラウズ

専門家のアドバイスを求めています: PHP 中国語データベースの文字化けの問題
インターネット上で次のような多くのメソッドを見つけました
:

mysql_query("set names 'gbk'")

mysql_query("set names utf8")

php.ini 設定ファイルの変更

などは役に立ちません

私のデータベースは utf-8 です

ファイルもすべてUTF-8

で正常に保存できていますが、中の漢字が全て文字化けしています

アドバイスをお願いします、よろしくお願いします

- -----解決策----------------------
まず、データを挿入する前にプログラムが使用されているかどうかを確認します。 2進数、16進数などの文字化け処理を行います。
------解決策---------
中の漢字がすべて正しいとどうやってわかりますか?はい、文字化けしましたか?
------解決策------------------
つまり、データベース自体が utf-8 ではありません。


------解決策---------
ファイルが utf8 でエンコードされているかどうかを確認してください。
------解決策---------

話し合う

うーん
phpmyadmin を使用してデータベースに入り、参照しました

------解決策---------
utf-8 エンコーディングを使用する phpmyadmin がコンテンツを観察した場合が文字化けしている場合は、ライブラリ内のデータが utf8 でエンコードされていないことを意味します

Mysql_query("set names utf8") がコードに表示されないため、データは utf-8 でエンコードされていません ライブラリの

mysql_query("set names utf8") は、後続のデータが utf-8
であることを示しますが、前のデータも utf-8 でエンコードされていることは保証されません。
------解決策---------
話し合う

utf-8 でエンコードされた phpmyadmin によって観察されたコンテンツが文字化けしている場合、ライブラリ内のデータが utf8 でエンコードされていないことを意味します。

mysql_query("set names" はコード utf8 に表示されません) ") なので、データは utf-8 でエンコードされていません

mysql_query("set names utf8") は、後続のデータが utf-8
であることを意味しますが、前のデータが utf-8 であることは保証しませんまた、utf-8 エンコード

------解決策---------
これは統一コーディングでのみ処理できます

データの挿入時、データベースへの保存時、データの読み取り時に一貫したエンコーディングを使用してください。 LZ はいくつかの詳細を見逃しているはずです。

つまり、プロジェクトに取り組む際、細部に注意を払わないと人が命を落とす可能性があります。温州 EMU での無許可プログラマーの逮捕は単なる冗談ではありません。
------解決策---------
1: データベースが文字化けしていないか確認してください。
2:データベースの表示が正常であれば、Webページの編集方法が正しいか確認してください。
------解決策---------
php ファイルが utf-8 であることを確認してください。データを書き込む前に、文字化けが発生しないように、ページのエンコーディング、ファイルのエンコーディング、およびデータベースに書き込まれる情報のエンコーディングが一致していることを確認する必要があります。 🎜>
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。