phpのパラメータが文字化けする原因は、エンコードが一貫していないためです。解決するには、uft-8エンコードを使用するように変更します。変更コードは、「mb_detect_encoding($typeName,'CP936,UTF- 8')」。
この記事の動作環境: Windows 7 システム、PHP バージョン 7.1、Dell G3 コンピューター。
php のパラメーターが文字化けするのはなぜですか?
php のパラメーターが文字化けする場合の解決策
Web サイト プロジェクトがプロジェクト エンコーディングとして gb2312 を使用している場合、異なるブラウザに接続すると、中国語の文字のエンコードが異なる場合があります。中国語を Web サイトのエンコードにエンコードするものと、中国語を utf-8 にエンコードするものがあります。バックグラウンドでパラメータを受信すると、文字化けエラーが発生します。より良い解決策は、パラメーター内の中国語の文字を識別し、gb2312 でない場合は変換することです。
$typeName = $_GET['typeName']; $encode = mb_detect_encoding($typeName,'CP936,UTF-8') ; //如果是CP936,就是gbk编码,如果是UTF-8, 就是utf-8编码 if ($encode =='UTF-8') { //再调用转换成utf-8编码的函数,最终确保是utf-8 $typeName = iconv("utf-8","gb2312",$typeName); }
Web サイトのコーディングの問題と将来の拡張のために、uft-8 エンコーディングを使用することをお勧めします
推奨学習: "PHP ビデオ チュートリアル "
以上がPHPで渡されるパラメータが文字化けするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。