php ユーザー情報が文字化けする場合の解決策: 1. データベースのエンコードを変更する; 2. テーブルのエンコードを変更する; 3. フィールドのエンコードを変更する; 4. ソース ファイルの文字セットを変更する; 5. ページの文字セットを変更する; 6. 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 サイトの他の関連記事を参照してください。