PHP Web ページの文字化けは、通常、データベース作成時に使用したエンコーディングと PHP Web ページのエンコーディングの違いが原因で発生します。
phpmyadmin で作成したデータベースのエンコーディングを指定しない場合、デフォルトのエンコーディングは latin1_swedish_ci です。スウェーデン語は大文字と小文字を区別しません、そして私たちは中国で作成したWebページはGBKまたはGB2312でエンコードされているため、文字化けが発生しないとおかしいです
1.データベースを作成するときにエンコードを指定します。初心者の混乱を避けるために、ここで一般的に使用されるエンコーディングについて説明します。
簡体字中国語の Web ページを作成している場合は、データベースを作成するときに GB2312 エンコーディングを使用する必要があります (gb2312_chinese_ci)。データベースを構築するときは gib5 エンコード、big5_chinese_ci
作成している Web ページに簡体字中国語と繁体字中国語の両方が含まれている場合は、GBK エンコードを使用することをお勧めします。GBK には GB2312 よりも多くの文字コードが含まれており、もちろん繁体字中国語も含まれています。
多言語 Web ページを作成している場合は、UTF-8 エンコーディングを使用することをお勧めします。mysql Choice では utf8_unicode_ci と utf8_general_ci の 2 種類の utf8 エンコーディングを使用します。これらの違いについては、 2 つのエンコーディングについては、このサイトの別の記事を参照してください: Mysql の校正セットの utf8_unicode_ci と utf8_general_ci の違い
図に示すようにデータベースを作成する例として UTF-8 エンコーディングを使用します :
2、php でデータベースに接続するときに mysq_query を使用してエンコーディングを設定します構文: mysql_query("SET NAMES 'utf8'")
例:コードをコピーします コードは次のとおりです:
$cmysql_query("set names 'utf8'",$conn); //文字化けを解決する
mysql_select_db('test1',$conn); 通常、これらの 2 つの手順を実行すれば、
2 番目の一般的な状況:
2 番目の一般的な状況は、通常、さまざまなプログラミング言語で作業している場合によく発生します。 gb2312 で、IDE で作成された .php ファイルのエンコーディングとプログラムで表示されるエンコーディングの違いが原因で、big5 の Web ページを作成することがあります。たとえば、前回は gb2312 の簡体字中国語の Web を作成しました。ページを作成し、今上司から gbi5 Web ページを作成するように頼まれましたが、私の IDE 使用されているエンコーディングは gb2312 です
私がよく使用する IDE Dreamweaver を例に挙げてみましょう
上記では、goodreader の文字化けコードと、php 文字化けコードの問題を解決する 2 つの方法を紹介し、goodreader 文字化けコードの内容も含めて、PHP チュートリアルに興味のある友人に役立つことを願っています。