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'") 例:
コードをコピーします
コードは次のとおりです:
$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 ファイルのエンコーディングの違いによって発生します。プログラムによって表示されるエンコーディング
たとえば、前回は gb2312 の簡体字中国語 Web ページを作成しましたが、今度は上司から gbi5 の Web ページを作成するように頼まれましたが、私の IDE は gb2312 エンコーディングを使用しています
私がよく使用する IDE Dreamweaver を例に挙げます。例
IDEで新しく作成したWebページはgb2312なのですが、作成したWebページをbig5に変更したのですが、どうしたら文字化けしないでしょうか? 解決策は非常に簡単で、再度名前を付けて保存し、エンコーディングを指定するだけでOKです。
それでも理解できない場合は、Web ページの先頭に http ヘッダー情報の行を追加します
header("Content-Type: text/html;charset=utf-8"); : ヘッダー情報を送信する場合は、ヘッダーの前に配置してください。 スペースを含む出力はできません
さて、ここまで書いたところで、プログラムがどのような状況でコード化けを引き起こしているかを見てみましょう。
http://www.bkjia.com/PHPjc/325214.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/325214.html
技術記事 PHP Web ページの文字化けは、通常、データベース作成時に使用したエンコーディングと PHP Web ページのエンコーディングの違いが原因で発生します。phpmyadmin で作成したデータベースのエンコーディングを指定しない場合、デフォルトで latin1_swedis. が使用されます。 .