ホームページ >バックエンド開発 >PHPチュートリアル >PHP文字化け問題を解決する2つの方法_PHPチュートリアル
PHP Web ページの文字化けは、通常、データベースの作成時に使用されたエンコーディングと PHP Web ページのエンコーディングの違いが原因で発生します。
phpmyadmin で作成されたデータベースのエンコーディングを指定しない場合、デフォルトは latin1_swedish_ci になります。スウェーデン語は大文字と小文字を区別せず、中国で作成された Web ページは GBK または GB2312 でエンコードされているため、文字化けが発生しないのは不思議です
1。 初心者の混乱を避けるために、ここで一般的に使用されるエンコーディングについて説明します。
簡体字中国語の Web ページを作成している場合は、データベースを構築するときに GB2312 エンコーディング、gb2312_chinese_ci を使用する必要があります。中国語の Web ページの場合、データベースを構築するときに gib5 エンコード、big5_chinese_ci を使用する必要があります
作成している Web ページに簡体字中国語と繁体字中国語もあるので、GBK エンコードを使用することをお勧めします。GBK_chinese_ci にはより多くの文字が含まれています。 GB2312 よりもコードが多く、もちろん繁体字中国語も含まれています
多言語の Web ページを作成している場合は、mysql で 2 つの utf8 エンコーディングを選択することをお勧めします。著者は通常、utf8_general_ci を使用します。これら 2 つのエンコーディングの違いについては、このサイトの別の記事を参照してください: Mysql 校正セットの utf8_unicode_ci と utf8_general_ci の違いは、例として使用されています。図に示すようにデータベースを作成します:
2、php でデータベースに接続するときに、mysq_query を使用してエンコーディングを設定します
構文: mysql_query("SET NAMES 'utf8'") 例:
コードをコピーしますさて、ここまで書いたところで、プログラムがどのような状況でコード化けを引き起こしているかを見てみましょう。