急急急!!!!!!getPara() 获取post中文参数乱码

获取到的值示例
示例:?23??????é???·????é???°′??o?o¢???è·ˉ114??·

评论区

JFinal

2016-09-23 19:52

检查一下这几个地方的设置:
1:页面有没有设置 < meta http-equiv="content-type" content="text/html; charset=utf-8" >
2:configConstants 中有没有设置成 me.setEncoding("utf-8");
3:需要使用表单域传参,而不是 url 中的问号挂参,因为 url 问号挂参的编码方式与 tomcat、jetty 配置有关
4:数据库的 jdbcUrl 连接中的字符集设置是不是 utf-8。(这项对于本问题无关,但对于其它情况下的乱码有关)

ktswang

2016-09-24 09:42

@JFinal 谢谢您的回答, 昨天的问题是移动端请求接口时post过来的中文数据会乱码,这边接收到的编码格式是ISO-8859-1,目前找到一个解决办法,只要接收的数据是中文的话,就把数据转一下:new String(getPara("").toString().getBytes("ISO-8859-1"), "utf-8")。
但感觉这样太繁琐了,也不是最好的办法。。。。。。。。。

JFinal

2016-09-24 10:10

@ktswang 最好的办法是所有编码全部统一成 utf-8

fmpoffice

2020-08-18 14:03

$.ajax("/permission/update", {
type: "POST", cache: false
, dataType: "json"
,contentType:'application/x-www-form-urlencoded;charset=UTF-8'
,data: {
id: id,
remark: $("#remark_"+id).val()
}
, success: function(ret) {
if (ret.state == "ok") {
show_stack_bottomright("info","更新成功!",3000);
}
}
});
用完这段吧,修改成功了!~

热门反馈

扫码入社