ホームページ  >  記事  >  バックエンド開発  >  文字化けしたPHPパラメータの解決策

文字化けしたPHPパラメータの解決策

WBOY
WBOYオリジナル
2016-08-08 09:26:091123ブラウズ

ウェブサイトプロジェクトがプロジェクトエンコーディングとしてgb2312を使用する場合、ブラウザーによって中国語の文字のエンコード方法が異なる可能性があるため、一部のブラウザーは中国語をウェブサイトのエンコーディングとしてエンコードし、一部のブラウザーは中国語を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);
}

ウェブサイトのコーディングの問題と将来の拡張のために、uft-8 エンコーディングを使用することをお勧めします

以上、PHPパラメータ文字化けの解決方法を側面も含めて紹介しましたが、PHPチュートリアルに興味のある友人の参考になれば幸いです。

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