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) を使用することをお勧めします。GBK には GB2312 よりも多くの文字コードが含まれています。もちろん、繁体字中国語も含まれます。多言語の Web ページを作成している場合は、UTF-8 エンコーディングを使用することをお勧めします。mysql には 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'"); 🎜> 例:
$conn=mysql_connect('127.0.0.1' ,'root',' 123456'); mysql_query("set names 'utf8'",$conn); //文字化けを解決しますmysql_select_db('test1',$conn); > 一般的に、この 2 つの手順を実行する限り、プログラムは文字化けしません。
2 番目の一般的な状況:
2 番目の一般的な状況は、一般にあまり発生せず、ほとんどの場合発生します。たとえば、utf8 を作成する場合、gb2312 を作成する場合、big5 の Web ページを作成する場合など、さまざまな言語があります。IDE で作成された .php ファイルのエンコーディングは、IDE で作成されるエンコーディングとは異なります。
たとえば、前回は gb2312 簡体字中国語 Web ページを作成しましたが、今度は上司から gbi5 Web ページを作成するように頼まれましたが、私の IDE は gb2312 エンコードを使用しています
私がよく使用する IDE Dreamweaver を例として挙げます