ホームページ  >  記事  >  バックエンド開発  >  PHP GET メソッドは中国語パラメータを渡しますが、PHP はそれらを受け取ることができません

PHP GET メソッドは中国語パラメータを渡しますが、PHP はそれらを受け取ることができません

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

http://127.0.0.1/index.php?admin&q=module/user/list&site_id=50&a=userinfo&realname=%D2%FC%BD%A8%C0%A4

LINUX サーバーでは、$data['realname'] =$_GET['realname'];、このメソッドは realname パラメータを取得できません。ローカルテストでは問題ありません。説明してください。 !


ディスカッションに返信(解決策)

var_dump($_GET);//どのようなデータが出力されるかを確認してください

ご返信ありがとうございます、slog("ユーザー名は: ".$data ['realname '] ;何か良い提案はありますか?

header('Content-type: text/html;charset=GBK');echo urldecode('%D2%FC%BD%A8%C0%A4');
陰建君


header('Content-type: text/html;charset=GBK');echo urldecode('%D2%FC%BD%A8%C0%A4');
陰建君

++.
header('Content-type: text/html;charset=GBK')

echo urldecode('%D2%FC%BD%A8%) C0% A4');
これを追加すると、コードがサーバーに送信され、ローカルでサーバーにアクセスすると、確かに私の名前が出力されます

slog(mb_convert_encoding("ユーザー名は: ".$data [' realname'], " UTF-8","GBK"));

slog(mb_convert_encoding("ユーザーのメールアドレスは次のとおりです: ".$data ['email'], "UTF-8","GBK"));
slog(mb_convert_encoding(" ユーザー名は: ".$data ['realname'], "GBK","UTF-8"));
slog(mb_convert_encoding("ユーザーのメールアドレスは: ".$data [' email'], "GBK", "UTF-8")); そして、おそらくエンコード形式をこのように変換して印刷しましたが、ログが印刷できません。 !

問題は slog 関数にあります。その理由は外部では見つかりません。slog を追加する理由は、以前に渡されたパラメータを入力する必要があるためです。 LOG も入力され、中国語の LOG も入力されています。いいえ、スログが削除され、すべてのコードは変更されていません。残念ながら、これは詐欺です。 。 。

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