理想的な状況は、分析が正常に行われるように、3 つのエンコーディングを gbk または utf-8 に統一することです。 でも、どうして統一できないのでしょうか?
例:
??PHP のエンコーディングは utf-8 です
??MySQL のエンコーディングは utf-8
??ブラウザのエンコーディングは gbk
At今回は、PHP と MySQL のコーディングは同じであるため、PHP とブラウザーの間に存在する可能性があることを考慮してください。したがって、無視できます。そして、PHP によってブラウザに返されたものは utf-8 であることをブラウザに伝えるにはどうすればよいでしょうか。解析には utf-8 を使用してください。
答え:
(1) の方法の 1 つは、PHP で使用するヘッダー関数です。 header("Content-type:text/html;charset=utf-8");
(2) 2つ目の方法は、HTMLコードのmetaタグに設定する方法です。
そして、PHP と MySQL の間のエンコーディングが均一でない場合、どうやって相互に認識できるでしょうか?独自のコーディングはどうですか?
答え:
方法 (1) の 1 つは、MySQL サーバーが PHP を受け入れてデータを PHP に返すときに、MySQL サーバーに現在の PHP が utf8 であることを伝える方法です。エンコーディング。 setcharacter_set_result=utf8; は、現在 PHP が utf8 のみを受け入れることができることを MySQL サーバーに伝えます。
(2) 2番目の方法は簡略化した書き方です。 PHP コードでセット名 utf8 を直接設定するだけです。これは、私の PHP が utf8 でエンコードされたもののみを送信および受け入れることを意味します。これは上記の方法 1 を簡略化したものです。