ホームページ  >  記事  >  バックエンド開発  >  MySQL から PHP で読み取られた中国語の文字化けコードを解決するにはどうすればよいですか?

MySQL から PHP で読み取られた中国語の文字化けコードを解決するにはどうすればよいですか?

青灯夜游
青灯夜游オリジナル
2020-07-16 14:43:453303ブラウズ

解決策: 1. を使用して Web ページ ファイルに UTF-8 エンコードを設定します; 2. 新しいデータベースを作成するときに UTF-8 エンコードを設定します; 3. PHP でデータベースに接続するときに、次を使用します"mysql_query("set names 'utf8'");"データの文字セットを utf-8 に設定します。

MySQL から PHP で読み取られた中国語の文字化けコードを解決するにはどうすればよいですか?

MySQL の中国語サポートは、特に初心者にとってはまだ非常に限られており、文字化けの問題が発生すると、頭の痛い問題になります。

コード化けの問題:

PHPmyAdmin を使用して MySQL データベースを操作すると、漢字は正常に表示されますが、PHP Web ページを使用して表示すると、 MySQL データでは、すべての漢字が ?Number になります。

症状: PHPmyAdmin を使用して中国語を入力するのは正常ですが、PHP Web ページが MySQL データを表示すると、中国語の文字が ? 記号になり、漢字の数と同じ数の ? 記号が表示されます。

理由: PHP Web ページには、中国語の文字を出力するためにどの文字セットを使用するかを MySQL に指示するコードがありません。

解決策:

1. Web ページのファイルヘッダーのエンコーディングを設定します

<meta charset="UTF-8">

2. PHP ページを保存するときに utf-8 エンコーディングを使用します。メモ帳または Convertz802 を使用してファイル

3 を変換します。MYSQL で新しいデータベースを作成するときは、データベースの UTF-8 エンコーディングを選択し、文字セットは utf-8_unicode_ci (Unicode (多言語)) に設定されます。 、サイズに依存しない書き込み)、

ライブラリ内のテーブルの照合順序は utf-8_general_ci

テーブル内の各フィールドの照合順序は に設定されますutf-8_general_ci

4. PHP でデータベースに接続する場合、つまり mysql_connect() の後に

//设置数据的字符集utf-8
mysql_query("set names &#39;utf8&#39;");
mysql_query("set character_set_client=utf8");
mysql_query("set character_set_results=utf8");

を追加します。utf- ではなく utf8 であることに注意してください。 8.

Web ページのエンコードが gb2312 の場合、SET NAMES GB2312 です。ただし、エディターは、Web ページのエンコーディング、MySQL データ テーブルの文字セット、および PHPmyAdmin はすべて UTF-8 を使用することを強く推奨します。

上記の4点でサイト全体のutf-8エンコードが実現でき、データベースに中国語の文字化けが発生しません。

拡張:

コード文字化けの問題: PHPmyAdmin を使用してデータを入力するときにエラーが発生し、入力が許可されないか、文字化けしたコードが表示されます

解決方法: これは設定の問題です。最新バージョンの PHPmyAdmin または Appserv をインストールし、PHPmyAdmin を開いて、MySQL 文字セット: UTF-8 Unicode (utf8); MySQL 接続校正は utf8_unicode_ci である必要があります; 新しいデータベースを作成するときは、仕上げ列にも utf8_unicode_ci を選択してください。

Web ページの文字セットには utf-8 を使用することも最適です。 UTF-8 は国際標準エンコーディングであり、トレンドです。

関連する推奨事項: PHP チュートリアル

以上がMySQL から PHP で読み取られた中国語の文字化けコードを解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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