PHP+MYSQLのコード化けの問題

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

私の mysql エンコーディングは utf8_bin です
ページのエンコーディングは 開発には zend を使用しています。 zend in zend PHP ページのエンコーディングは utf-8 に設定されています
ただし、フロント ページのクエリされたデータはすべて文字化けしています。
データベースに接続するPHPファイルにmysql_query("set names 'gb2312'")を追加して実行すると、クエリされたデータが正常に表示されるようになりました。フロントページから取得したデータベースデータも文字化けしています。先輩方にアドバイスをいただければ幸いです。
私のフロントエンド ページは Dreamweaver を使用して書かれています


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

プログラム ファイルのエンコーディングは何ですか?

mysql データベースのテーブルとテーブル内のフィールドのエンコーディングは utf8 に設定されていますか?

プログラム ファイルのエンコーディングは何ですか?

Zend ソフトウェアで PHP ファイルを utf-8 に設定しました。あなたが話しているのがプログラムファイルのエンコーディングであるかどうかはわかりません。

mysql データベースのテーブルとテーブル内のフィールドのエンコーディングは utf8 に設定されていますか?

UTF8_bin エンコーディングに設定されていますか?その後、データベースを削除して新しいデータベースを作成し、テーブルとフィールドのエンコードも確認しました

後でデータベースを削除しました。 zend でまたエラーが発生しました。再構築したプロジェクトではすべてのページが utf-8 に設定されていました。

データベースに接続されているファイルのデータを印刷すると、文字化けが表示されました。データベース接続ステートメントの下に文 mysql_query("set names 'gb2312'") を追加します。印刷されるデータはすべて中国語ですが、データはフロント ページから取得されます。また文字化けします

データベースが削除された場合は、データベースにコンテンツが存在しないことを意味します。

それでは、データをクエリするにはどうすればよいでしょうか?
言い換えれば、どのようにしてデータをデータベースに入れるのでしょうか?

データベース接続ステートメントの下に mysql_query("set names 'gb2312'") を追加すると、印刷されるデータは中国語になります
これは、実行するプログラム ファイルが utf-8 ではなく gbk エンコードされていることを意味します

データベースの削除データベースにコンテンツがないことを意味します。

それでは、データをクエリするにはどうすればよいでしょうか?
言い換えれば、どのようにしてデータをデータベースに入れるのでしょうか?
データベースを削除して再構築し、SQL ステートメントを実行してデータを再度追加しました。

データベース接続ステートメントの下に文 mysql_query("set names 'gb2312'") を追加すると、印刷されるデータは中国語になります
これは、実行するプログラム ファイルが utf-8 ではなく gbk でエンコードされていることを意味します
したがって、プログラム ファイルのエンコードを変更するにはどうすればよいですか? Zendで修正されてないんですか?

データベース接続ステートメントの下に mysql_query("set names 'gb2312'") を追加しました。gb2312 を utf8 に変更し、フロント ページが通常どおり中国語を表示できるようにしました。以前utf-8に変更したところ、トップページが文字化けしてしまいました。先輩方、ご協力ありがとうございました!

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