这篇文章主要介绍“php传递post参数乱码如何解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“php传递post参数乱码如何解决”文章能帮助大家解决问题。
php传递post参数乱码的解决办法:1、打开相应的源代码文件;2、找到“$_POST["pro_name"]”;3、将“header("Content-Type:text/html;charset=utf8");”修改成“echo'<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">';”即可。
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">';