ホームページ  >  記事  >  バックエンド開発  >  PHP、MySQL、ブラウザのエンコーディングが統一されていない場合に正常な解析を保証するにはどうすればよいでしょうか?

PHP、MySQL、ブラウザのエンコーディングが統一されていない場合に正常な解析を保証するにはどうすればよいでしょうか?

WBOY
WBOYオリジナル
2016-06-23 13:39:19736ブラウズ

理想的な状況は、分析が正常に行われるように、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 を簡略化したものです。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。