PHP で UTF-8 の中国語文字化けを表示する解決策: 1. PHP ファイルの先頭に「header("content-type:text/html;charset=utf-8");」を追加します。 2 、「mysql_connect」関数を使用してデータベースに接続し、「mysql_query('SET NAMES UTF8');」ステートメントを実行してエンコードを UTF8 に変更します。
このチュートリアルのオペレーティング システム: Windows 10 システム、PHP バージョン 8.1、Dell G3 コンピューター。
#PHP で utf-8 の中国語文字化けが表示される理由
#1. 一貫性のない文字セット エンコーディングにより、多くの場合、文字化けの主な原因は、エンコード形式に問題があることが考えられます。 PHP コードを記述するプロセスでは、開発者はコード ファイル自体の形式に注意を払う必要があり、たとえば、Overpass を UTF-8 形式に設定する必要があります。設定されていない場合、または設定が間違っている場合、PHP プログラムの出力で文字化けが発生します。 また、PHP プログラムでデータベース クエリやフォーム送信などの操作を使用する場合は、データベースと Web ページの文字セット エンコーディングが統一されているかどうかにも注意する必要があります。漢字化け問題。 2. ブラウザの表示の問題コード文字化けの問題は、ブラウザによっても発生する可能性があります。ブラウザのエンコード方法が Web ページのエンコード方法と一致しない場合、中国語のコード化けの問題も発生します。 . .この時点で、開発者はブラウザのエンコーディングを変更して問題を解決することができます。 3. 間違った出力方法PHP プログラムでは、出力方法を誤ると中国語の文字化けの問題も発生します。エラーの出力方法としては、echo、print、print_r、var_dumpなどの出力関数が一般的ですが、中国語出力時にはこれらの関数が処理されないため、文字化けが発生しやすくなります。PHP で表示される UTF-8 中国語文字化けの解決策
1: HTML と PHP の混合ページの解決策
<?php header("content-type:text/html;charset=utf-8"); //设置编码 ?>
2: Pure The PHP ページの中国語コードの文字化けの問題 (データは静的)
<?php header("content-type:text/html;charset=utf-8"); //设置编码 ?>
3:PHP Mysql 中国語の文字化けコード問題
# # 3 番目の操作に従うことに加えて、データのクエリ、変更、追加を行う前にデータベース エンコーディングを追加する必要もあります。さらに、ここでの UTF8 は以前の UTF8 とは異なり、中央に水平線がないことに注意してください。
PHP を使用してデータベースを読み書きする
データベースに接続した後:
[hide]$connection = mysql_connect($host_name, $host_user, $host_pass);
2 行を追加します:
mysql_query("set character set 'utf8'");//读库 mysql_query("set names 'utf8'");//写库
これで、通常は MYSQL データベース。
<?php mysql_query('SET NAMES UTF8'); //接下来的就是查出数据或者修改,增加 ?>
UTF-8 エンコーディングはエンコーディングの 1 つにすぎません。utf-8 エンコーディングを使用したくない場合は、他のエンコーディングを使用することもできます。UTF-8 を使用したいエンコーディングに置き換えるだけです。 . 現在、中国のウェブサイト 開発で主に使用されるエンコーディングは GB2312 と UTF-8 の 2 つです。
注意すべき点: データベース操作を実行する必要がある PHP プログラムの前に追加される mysql_query("set names 'coding'"); エンコーディングは、PHP エンコーディングと一致している必要があります。PHP エンコーディングが gb2312 の場合、 mysql エンコーディングは gb2312 です。utf-8 であれば、mysql エンコーディングは utf8 なので、データの挿入または取得時に文字化けが発生しません。
以上がPHPでUTF-8の中国語が文字化けして表示される場合の対処方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。