本教程操作环境:windows7系统、PHP8.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传递post参数乱码怎么办的详细内容,更多请关注编程网其它相关文章!