ホームページ >バックエンド開発 >PHPの問題 >PHPで文字化けが発生した場合の対処法

PHPで文字化けが発生した場合の対処法

藏色散人
藏色散人オリジナル
2020-09-01 10:37:435193ブラウズ

php の出力が文字化けする場合の解決策: 1. mb_convert_encoding() 関数を使用してトランスコードします; 2. データベースのエンコード方式を utf8 に設定します; 3. ファイルを保存するときにエンコードを utf8 に変更します。

PHPで文字化けが発生した場合の対処法

おすすめ:「PHP ビデオチュートリアル

PHP 表示時の文字化けの解決方法

1. 文字化けの原因の分析

1. ファイルを保存するときに、ファイルには中国語またはその他の中国語の独自のファイル エンコーディングが使用されます。

2. 出力する場合は、コンテンツのエンコーディングを指定します。例えば、Web ページ形式で入力する場合は、

3. データベースからデータを取得するとき、データベースによって設定されている文字セットがわかりません。

4. 中国語の文字を次のようにします。例 漢字もエンコードされています 漢字1文字gbkなら2文字必要ですが、utf8なら文字化けの原因として上記の

の3文字が考えられますので、これらを整理して組み合わせてみます。

最初のケースは、ファイルの保存と表示エンコーディングの間の不一致です。

ファイルの保存時に utf8 エンコーディングを使用し、Web ページの出力時に gbk エンコーディングを設定する場合、これは文字化けが表示される場合

2 番目の場合は、保存したファイルとデータベースに保存されている文字が一致していない場合です。

保存したファイルのエンコードが、表示されているエンコードと同じである場合たとえば、ファイルを保存するときに utf8 エンコードを使用し、データベースではデータの保存に gb2312 文字セットを使用します。

3 番目の状況は、コードが文字化けしていて、まだコードがないと思っている場合です。

コードが文字化けしていることに気づいたとき、保存されたファイルのエンコードを変更したとき, utf8 の状況は良いので、gbk に置き換えるとコードが文字化けしますが、それでも良いと思います。文字化けが発生する原因もこれです。これはよく起こります。

4 番目の状況は、データベースが元々文字化けしている場合です。

データの文字セット、保存されたファイルのエンコーディング、Web ページの表示エンコーディングはすべて同じですが、文字化けしています。データベースにデータを入力すると文字化けしてしまうことが多く、非常に困ります。

第二に、文字化けを解決する私の方法は毎回試行され、テストされています。

私はこの方法をパオ・ディン・ジエ・ニウ法と名付けました。ははは。データベース、保存ファイルのエンコード、表示時のエンコードは一貫している必要があり、データベースが優先されます

まず、データベースと保存ファイルのエンコードはutf8、Webページ表示はgb2312です。変更する必要があります 表示はエンコードされています

2 番目のタイプ、データベースと Web ページの表示は次のとおりです。どちらも utf8 で、ファイルの保存に使用されます 1 つは gb2312 です このとき、1 つ注意する必要があります 保存されたファイルのエンコードを直接変更することはできません エンコードを変更する前に、まずファイルの内容をコピーしてくださいエンコーディングを変更した後、コピーした内容を貼り付けて戻します。これで問題ありません。

3 番目の方法は、データベースが utf8 を使用し、保存ファイルと表示エンコーディングが gb2312 であることです。このとき、次のことが可能です。データベースから取り出したデータをプログラム付属の関数で変換するコードコンバーターを使用し、ファイル自体のエンコードや表示エンコードを変更する必要がないようにutf8をgb2312に変換します。 PHP を例に挙げると、mb_convert_encoding($string,”gb2312″,”utf8″);

4 番目のタイプのデータベース文字化けコードは、データ自体と、データを保存する際のデータベース ストレージのエンコーディングの違いによって引き起こされます。が入力されています。例: データベースのストレージ エンコーディングは utf8 です。データがデータベースに保存されているときに、mysql_query("set names utf8;"); を追加します。そうですね、私は 2 つ遭遇しました。

1) フォント

2) 真っ白なページです、確認してください ソースコードには何もありません このような場合、コード化けが原因かと思うことがあります。ページを右クリックしてプロパティを表示し、エンコードを変更すると、空白ページの原因が文字化けであるかどうかがわかります。

以上がPHPで文字化けが発生した場合の対処法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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