php によって渡される文字化けした post パラメータの解決策: 1. 対応するソース コード ファイルを開きます; 2. "$_POST["pro_name"]" を見つけます; 3. "header("Content-Type:text" を変更します) / html;charset=utf8");" を "echo'';" に変更できます。
このチュートリアルの動作環境: Windows 7 システム、PHP バージョン 8.1、Dell G3 コンピューター。
PHP が文字化けした post パラメータを渡したらどうすればよいですか?
問題の説明:
PHP $_POST が中国語の文字化けを送信する
html: <form action="__APP__/ShoppingCart/add" method="POST"> <br/><b>{$pro_name}</b><br/><br/> 价格:¥{$pro_price}<br/><br/> 已售出:{$pro_sale}件 数量<input type="text" size="2" name="pro_num" value="1"/><input type="submit" value="加入购物车" /> <input type="hidden" name="pro_id" value="{$pro_id}" /> <input type="hidden" name="pro_name" value="{$pro_name}" /> <input type="hidden" name="pro_price" value="{$pro_price}" /> </form> action: public function add(){ $user = session("user_name"); if(session("user_name")){ header("Content-Type:text/html;charset=utf8"); request.setCharacterEncoding("UTF-8"); $common = D("Common"); $data["user_id"] = $user[0]["user_id"]; $data["user_name"] = $user[0]["user_name"]; $data["pro_id"] = $_POST["pro_id"]; $data["pro_name"] = $_POST["pro_name"]; $data["pro_price"] = $_POST["pro_price"]; $data["pro_num"] = $_POST["pro_num"]; $data["pro_total"] = $_POST["pro_num"]*$_POST["pro_price"]; dump($data); echo $data["pro_name"]; } }
受信した $_POST["pro_name"] が文字化けしているのはなぜですか?ページのソース コードを確認しましたが、隠しフィールドは文字化けしていませんでした。
解決策:
header("Content-Type:text/html;charset=utf8");
は
echo '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">';
に変更されます。 推奨される調査: " PHP ビデオ チュートリアル >>
以上がPHP が文字化けしたポストパラメータを渡した場合の対処方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。