ホームページ  >  記事  >  バックエンド開発  >  PHPの文字化け問題についてアドバイスを求めている初心者です。

PHPの文字化け問題についてアドバイスを求めている初心者です。

WBOY
WBOYオリジナル
2016-06-23 14:14:35993ブラウズ

PHP が UTF-8 で文字化けする

私の mysql データベース、データベース、データテーブル、フィールド、接続校正はすべて UTF-8 でエンコードされています。
reg01.php が中国語データを reg02.php に送信すると、echo SQL ステートメントとデータベースへのストレージがすべて文字化けしますか?
reg01.php has

図は次のとおりです:
1.mysql データベース、およびデータベース接続の校正UTF-8 エンコードです


2. データベースとフィールドはすべて UTF-8 エンコードです



3. echo SQL ステートメントとデータベースはすべて文字化けします



原因は何ですか?この問題はとても厄介です。

ディスカッションへの返信(解決策)

最後の写真から、gbk エンコードされたインターフェイスで utf-8 エンコードされたコンテンツを出力しています

理解できません。私のreg02.phpとreg01.phpはどちらもutf-8でエンコードされています

Eclipseのエンコード設定はこのエンコードです。

私の mysql データベース、データベース、データテーブル、フィールド、接続校正はすべて UTF-8 でエンコードされています。
reg01.php が中国語のデータを reg02.php に送信すると、echo SQL ステートメントとデータベースに保存されているデータがすべて文字化けしますか?
reg01.php has

図は次のとおりです:
1.mysql データベース、およびデータベース接続の校正UTF-8 エンコードです


2. データベースとフィールドはすべて UTF-8 エンコードです



3. echo SQL ステートメントとデータベースはすべて文字化けします



原因は何ですか?この問題はとても厄介です。

utf8 でエンコードされたプログラムで文字列を直接エコーする場合は、エコーの前に

header("Content-Type: text/html; charset=utf-8");
を追加するか、出力される文字列の前に
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
を追加することを忘れないでください。

エコー出力は文字化けしなくなりましたが、データベースに保存されているデータは依然として文字化けしています。 。

mysql_set_charset("utf-8"); も追加しました
まだ文字化けしてわかりにくいです

SQL を挿入する前に、mysql_query("set names utf8"); を追加すると問題ありません

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。