ホームページ >バックエンド開発 >PHPの問題 >PHPでユーザー情報が文字化けする問題を解決する方法

PHPでユーザー情報が文字化けする問題を解決する方法

藏色散人
藏色散人オリジナル
2021-12-22 09:12:491946ブラウズ

php ユーザー情報が文字化けする場合の解決策: 1. データベースのエンコードを変更する; 2. テーブルのエンコードを変更する; 3. フィールドのエンコードを変更する; 4. ソース ファイルの文字セットを変更する; 5. ページの文字セットを変更する; 6. PHP ページの文字セットなど。

PHPでユーザー情報が文字化けする問題を解決する方法

この記事の動作環境: Windows 7 システム、PHP バージョン 7.1、Dell G3 コンピューター。

PHP ユーザー情報が文字化けする問題を解決するにはどうすればよいですか?

php mysql の utf-8 中国語文字化け問題の解決策

データベースでは utf8 エンコーディングを使用することをお勧めします

問題の概要:

1. MySQL データベースのデフォルトのエンコーディングは utf8 です。このエンコーディングが PHP Web ページと一致しない場合、mysql のコードが文字化けする可能性があります。

2. MYSQL でテーブルを作成する場合エンコーディング、このエンコーディングが Web ページのエンコーディングと一致しない場合、MYSQL コードが文字化けする可能性もあります。

3. テーブルの作成時にフィールドを追加するときにエンコーディングを選択できますMYSQL では、このエンコーディングが Web ページのエンコーディングと一致しない場合、MYSQL の文字化けが発生する可能性もあります。

4. ユーザーが送信したページのエンコーディングが、表示されるページのエンコーディングと一致しない場合

5. ユーザーが情報を入力するページが big5 コードの場合、ユーザー入力を表示するページは gb2312 です。これは 100% の原因になります。 PHP ページが文字化けする

6. PHP ページの文字セットが正しくありません。

7. MYSQL データベース ステートメントへの PHP 接続 指定されたエンコーディングが正しくありません。

mysql php を使用するときに文字化けが発生する理由を明確に理解できれば、解決策は難しくありません。

#さまざまな問題の解決策:

#1. デフォルトmysql データベースのエンコーディングは utf8 です。このエンコーディングが PHP Web ページと一致しない場合、MYSQL 文字化けコードが発生する可能性があります。

データベース エンコーディングを変更します。データベース エンコーディングが正しくない場合は、次のコマンドを実行できます。 phpmyadmin:

Alter DATABASE 'test' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin

上記のコマンドは、テスト データベースのエンコーディングを utf8.

2 に設定します。MYSQL でテーブルを作成するとき、エンコーディングを選択するように求められます。このエンコーディングは Web ページのエンコーディングと一致しないため、MYSQL の文字化けが発生する可能性もあります。

テーブルのエンコーディングを変更します:

Alter TABLE 'category' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin

上記のコマンドは、テーブル カテゴリのエンコーディングを変更します。 to utf8.

3. MYSQL でテーブルを作成するときにフィールドを追加するときにエンコードを選択できます。このエンコードが Web ページのエンコードと一致しない場合、MYSQL コードの文字化けが発生する可能性もあります。

フィールドのエンコーディングを変更します:

Alter TABLE 'test' CHANGE 'dd' 'dd' VARCHAR( 45 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL

上記のコマンドは、テスト テーブルの dd のフィールド エンコーディングを utf8.

4 に変更することです。ユーザーがデータを表示しているページのエンコーディングと一致していない場合、PHP ページが文字化けすることは間違いありません。

この状況が簡単に解決できる場合は、ページを確認して、その文字セットを変更するだけです。ソース ファイル.

5. ユーザーが情報を入力するページが big5 コードで、ユーザー入力が表示されるページが gb2312 である場合、これにより 100% PHP ページが文字化けします。

この場合、ページの文字セットを変更することもできます。

6.PHP ページの文字セットが正しくありません。

For PHP ページでの文字化けの発生を回避するには、 PHP ページの最初の文は

header("content-type:text/html; charset=utf-8");
//强行指定页面的编码,以避免乱码

7 です。MYSQL データベースに接続するための PHP ステートメントで指定されたエンコーディングが正しくありません。

データベースに接続するためのステートメント内です。

mysql_connect('localhost','user','password');
mysql_select_db('my_db');
mysql_query("set names 'utf8'"); //select 数据库之后加多这一句

推奨学習: 「

PHP ビデオ チュートリアル

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

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