编码问题

王英
• 阅读 1024

get请求中文乱码:

$.get("testServlet",{username:"你好"},function () {  

})

首先,浏览器将参数username以utf-8编码拼接在url后面

http://localhost:8080/travel/testServlet?username=%E4%BD%A0%E5%A5%BD

然后,tomcat收到参数,默认以iso-8859-1进行解码,即utf-8编码的数据用iso-8859-1解码,于是出现中文乱码

解决方法:先对参数以iso-8859-1编码方式进行反向编码,得到从浏览器以utf-8编码的参数,再以utf-8编码方式进行解码,得到中文参数。

String username = request.getParameter("username");  
username = URLEncoder.encode(username,"iso-8859-1");  
username = URLDecoder.decode(username, "utf-8");  
System.out.println(username);


点赞
收藏
评论区
推荐文章
虾米大王 虾米大王
3年前
java代码097
code097.jspEL逻辑运算userName$userNamepwd$pwd\$userName!""&&(userName"大王")$userName!""&&(userName"大王")\$userName"tom"&&pwd"123"$userName"tom"&&pwd"123"
虾米大王 虾米大王
3年前
java代码020
code020.jsp解决中文乱码name参数的值为:sex参数的值为:
Stella981 Stella981
3年前
Python字符编码 中文乱码
<centerPython字符编码中文乱码</centerPython中可能会出现各种各样的中文乱码问题,在python程序运行中,有三个地方与编码直接相关1.系统默认编码windows系统默认编码为GBK,Linux系统默认为UTF8(不知道是不是所有Linux都默认UTF8,但至少Ubuntu是UTF8)意味着在Li
Wesley13 Wesley13
3年前
HTTP之请求响应中文乱码小结
1.response响应中文乱码(1)乱码原因:服务器的编码方式和浏览器的解码方式不一致导致解决方案:统一服务器和浏览器的编码解码方式,都使用utf8代码实现:response.setContentType("text/html;charsetutf8");2.request请求中文乱码(1)post请求乱码  
Wesley13 Wesley13
3年前
URL编码以及get和post请求乱码问题
1. 什么是URL编码。URL编码是一种浏览器用来打包表单输入的格式,浏览器从表单中获取所有的name和其对应的value,将他们以name/value编码方式作为URL的一部分或者分离的发送到服务器上。2. URL编码规则。每对name/value由&分开,每对来自表单的name/value用分开。如果用户没有输入值的那个
Stella981 Stella981
3年前
SpringBoot2 学习10 Controller接收参数的方式
地址传值@PathVariable获取路径参数。即url/{id}这种形式。?传值@RequestParam获取查询参数。即url?name这种形式用注解@RequestParam绑定请求参数到方法入参当请求参数username不存在时会有异常发生,可以通过设置属性requiredfalse解决,例如:@R
Wesley13 Wesley13
3年前
Java乱码
1.Javascript传参乱码:在浏览器端对要传递的中文参数进行编码处理.代码如下:xmlhttp.open("POST",url,true);//请求参数初始化xmlhttp.setRequestHeader("ContentType","application/xwwwformurlencoded");//因为请求方式为PO
Easter79 Easter79
3年前
SpringBoot2 学习10 Controller接收参数的方式
地址传值@PathVariable获取路径参数。即url/{id}这种形式。?传值@RequestParam获取查询参数。即url?name这种形式用注解@RequestParam绑定请求参数到方法入参当请求参数username不存在时会有异常发生,可以通过设置属性requiredfalse解决,例如:@R
Stella981 Stella981
3年前
GET请求传递中文参数出现乱码问题(适用于Tomcat服务器)
   中文参数乱码的问题,归根到底就是编码与解码时格式不一致导致的。要解决这类问题,首先就得分析前台传参是以什么格式对请求进行编码的,后台再以相应的格式进行解码就可以了。    Tomcat的默认编码是ISO88591,当Tomcat收到GET请求时,它会使用ISO88591对请求进行编码,因此Java后台在接收这些中
飞鹅官方账号 飞鹅官方账号
11个月前
四、飞鹅后端管理系统API接口文档
接口列表1.服务健康检查请求方法:GET请求URL:/api/health请求参数无返回结果json"code":1,"message":"success"2.用户登录请求方法:POST请求URL:/api/admin/access/login请求参数(f
飞鹅官方账号 飞鹅官方账号
11个月前
五、飞鹅官网API接口文档
接口列表1.获取网站信息请求方法:GET请求URL:/api/site/getSiteInfo请求参数无返回结果json"code":1,"data":"id":1,//id"title":"SampleSiteName",//网站名称"intro":"T
王英
王英
Lv1
更被夕阳江岸上,断肠烟柳一丝丝。
文章
4
粉丝
0
获赞
0