ホームページ  >  記事  >  バックエンド開発  >  PHPで中国語が文字化けする問題を解決する方法

PHPで中国語が文字化けする問題を解決する方法

藏色散人
藏色散人オリジナル
2021-03-08 09:14:3516424ブラウズ

phpで中国語の文字化けを解決する方法: 1. headタグにUTF8エンコーディングを追加; 2. PHPファイルの先頭にUTF8エンコーディングを追加; 3. phpファイルに「charset=utf-8」を追加ページ。

PHPで中国語が文字化けする問題を解決する方法

#この記事の動作環境: Windows7 システム、PHP7.1、Dell G3 コンピューター。

文字化けは、開発中によく遭遇する最も厄介な問題の 1 つです。以下の記事では、PHP 開発で遭遇する可能性のある中国語の文字化けの問題に対する究極の解決策を中心に紹介します。この記事では、いくつかの方法を紹介します。困っている友達は、この状況の解決策を参考にしてください。以下を見てみましょう。

まえがき

この記事は主に、PHP における中国語文字化け問題の究極の解決策を紹介し、参考と学習のために共有します。まずはそれについて話してください なぜ中国語の文字化けが発生するのかについて話してください。

多くの初心者の友人が PHP を学習すると、プログラム内の中国語が出力時に文字化けすることに気づきます。では、なぜこのような文字化けが発生するのでしょうか?一般的に、文字化けが発生する原因は 2 つあります。1 つは、エンコード (文字セット) の設定が間違っているため、ブラウザーが間違ったエンコードで解析し、画面が乱雑な「天国の本」でいっぱいになることによるものです。 2 つ目は、ファイルが間違ったエンコードで開いて保存した場合、たとえば、元々 GB2312 でエンコードされていたテキスト ファイルを UTF-8 エンコードで開いて保存した場合、文字化けが発生します。この記事ではPHPの文字化け問題を解決する方法を紹介します。

コード化けの状況を次のタイプに分類します。必要に応じて、次の状況を参照して、コード化けの問題を的を絞った方法で解決できます。

最初のタイプ: HTML の中国語を解決する コード文字化けの問題を解決する方法

HTML ファイルにコード文字化けの問題がある場合は、head タグに UTF8 エンコード (国際エンコード) を追加できます。UTF-8 は、文字化けを含まないエンコードです。国、つまりどの言語にも依存せず、どの言語も使用できます。


<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

現在の HTML5 ファイルでは、エンコードの設定はより簡単です。次のようになります。

2 番目の、HTML と PHP の混合ページ ソリューション

HTML と PHP を混合する方法。最初の方法で説明した操作に加えて、次のコードも PHP ファイルの先頭に追加する必要があります:

<?php
header("content-type:text/html;charset=utf-8");  //设置编码
 
?>

3 番目のタイプは、純粋な PHP ページの中国語文字化けの問題です (データは静的です)。

PHP ページが文字化けしている場合は、ページの先頭に次のコードを追加してください。

<?php
header("content-type:text/html;charset=utf-8");  //设置编码
?>

4 番目のタイプ、PHP Mysql 中国語文字化け問題

3 番目の操作に従うことに加えて、データをクエリ/変更する/データベース エンコーディングを追加する前に、追加します。さらに、ここでの UTF8 は以前の UTF8 とは異なり、中央に水平線がないことに注意してください。

<?php
 mysql_query(&#39;SET NAMES UTF8&#39;);
 //接下来的就是查出数据或者修改,增加
?>

MySQL バージョン 4.1 以降を使用している場合は、リンク データベース操作の後に次のような文字エンコーディングを設定できます。

UTF-8エンコーディングはエンコーディングの 1 つにすぎません。UTF-8 エンコーディングを使用したくない場合は、他のエンコーディングを使用することもできます。UTF-8 を使用したいエンコーディングに置き換えるだけです。現在、GB2312 は主に中国の Web サイトで使用されています開発と UTF-8 の 2 つのエンコーディング。

注意すべき点: データベース操作を実行する必要がある PHP プログラムの前に追加される mysql_query("set names 'coding'"); エンコーディングは、PHP エンコーディングと一致している必要があります。 PHP エンコーディングが gb2312 の場合、mysql エンコーディングは gb2312、utf-8 の場合、mysql エンコーディングは utf8 であるため、データの挿入または取得時に文字化けが発生しません

[推奨: "PHP ビデオ チュートリアル》]

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

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