ホームページ  >  記事  >  バックエンド開発  >  PHPデータベースの文字化け問題を解決する方法

PHPデータベースの文字化け問題を解決する方法

藏色散人
藏色散人オリジナル
2022-11-01 10:34:131554ブラウズ

PHP データベースの文字化け問題の解決策: 1. Web ページ ファイルの先頭にエンコーディング utf8 を設定します; 2. PHP ページを保存するときに utf8 エンコーディングを使用します; 3. 新しいページを作成するときに UTF8 エンコーディングを選択しますデータベース; 4. 「mysql_query("set names 'utf8' ");」を通じて文字セットを設定するだけです。

PHPデータベースの文字化け問題を解決する方法

このチュートリアルの動作環境: Windows 7 システム、PHP バージョン 8.1、Dell G3 コンピューター。

phpデータベースの文字化け問題を解決するにはどうすればよいですか?

コード化けの問題 1: PHPmyAdmin を使用して MySQL データベースを操作する場合、漢字は正常に表示されますが、PHP Web ページを使用して MySQL データを表示すると、中国語の文字がすべて ? 記号になります。

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

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

解決策:

1. Web ページのファイルヘッダ設定エンコーディング89945a204156a7b24bbb6b51252bc883

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 'utf8' ");
mysql_query("set character_set_client=utf8");
mysql_query("set character_set_results=utf8");

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

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

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

文字化け問題2: PHPmyAdminでデータ入力時にエラーが発生し、入力できない、または文字化けが表示される

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

コード化けの問題 3: このマシンで開発された MySQL データ テーブルは、このマシンでテストすると正常ですが、Web サイト スペース プロバイダーが提供する PHPmyAdmin を使用してアップロードすると問題が発生し、アップロードに失敗します。特に外部の PHP スペースを使用します。

解決策: まず、Web サイト スペース プロバイダーが提供する PHPmyAdmin 文字セット設定を確認し、構築するデータ テーブルがサービス プロバイダーのエンコーディングと同じであることを確認します。 MySQL は海外では gb2312 をサポートしておらず、Apache の最新バージョンでも gb2312 をサポートしていません。エンコードが統一されていないことが原因の場合は、もちろん国際標準の UTF8 を使用してデータ テーブルを再構築できます。

推奨学習: 「

PHP ビデオ チュートリアル

以上がPHPデータベースの文字化け問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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