3
回答
getPara得到的中文是????怎么破?
滴滴云服务器,限时包月0.9元,为开发者而生>>>   

@JFinal html中已经加入<meta charset="UTF-8">,本地测试正常,相同浏览器,服务器接收的却是一串问号。

什么问题?怎么破?

举报
简单代码
发帖于3年前 3回/356阅
共有3个答案 最后回答: 3年前
html文件的编码不是utf8吧
--- 共有 2 条评论 ---
壶漏子回复 @简单代码 : window正常就很明显了,是文件编码的原因,在Linux上view 乱码的那个文件,看看是不是也是乱码,工程都统一成UTF8的编码比较好。 3年前 回复
简单代码我本地测试都好的,服务器上出问题了,服务器是Linux的tomcat,本地测试时win7的jetty,参数是读取input的值,easyui的datagrid传递过来的查询参数。 3年前 回复

引用来自“茶壶”的评论

html文件的编码不是utf8吧
回复 @茶壶 : 应该不是这个问题,我的工程是UTF8编码的,用chrome跟踪了一下,easyui的datagrid传参是通过url,中文已经编码了,按道理没有问题,可是,服务器接收解析没有解析过来。
function loadData(){
$("#pl").datagrid("load", {
vendor_name: $("#vendor_name").val(),
prod_name: $("#prod_name").val()
});
}
Chrome显示获取的URL如下,参数已经编码了
Request URL:http://www.xxx.com/admin/prod/list/ticket?vendor_name=&prod_name=%E8%A5%BF%E5%AE%89&page=1&rows=20
--- 共有 1 条评论 ---
壶漏子猜是URI编码的原因,free maker总有,查各处有没有没指定utf8的地方。 3年前 回复

http 请求是 GET 时,参数在 url 中传递的就会出乱码,解决办法很简单,下面的方法选择一种即可:

1:让参数在请求体中传递,也即使用 POST 请求,并且将参数放表单域中,而不是 url中

2:在 tomcat 接收请求的的 connector 标记中添加一个属性:URIEncoding="UTF-8"

--- 共有 2 条评论 ---
JFinal回复 @简单代码 : 这里的是个例子:<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" /> 注意最后添加的这个 URIEncoding 3年前 回复
简单代码太清楚了,等会试试!大谢! 3年前 回复
顶部