HTTP之请求响应中文乱码小结

Wesley13
• 阅读 815

1.response响应中文乱码
(1)乱码原因:服务器的编码方式和浏览器的解码方式不一致导致
解决方案:统一服务器和浏览器的编码解码方式,都使用utf8
代码实现:
response.setContentType("text/html;charset=utf-8");

2.request请求中文乱码
(1)post请求乱码
    `1)`乱码原因:post请求时参数在请求体里面,浏览器使用utf-8编码,而服务器默认使用的是iso8859-1解码,iso8859-1码不支持中文,因此导致乱码
    2)解决方案:设置服务器解码方式为utf-8
    3)代码实现:request.setCharacterEncoding("utf-8");

(2)get请求乱码
    1)乱码原因:get方式请求时参数在请求行里,浏览器使用utf-8编码,服务器默认使用iso8859-1解码导致
    2)解决方案:一编一解(先获得乱码,再一编一解)
    3)代码实现:
    String str =  request.getParameter("xxx");
     str = new String(str.getByte("iso8859-1"),"utf-8")

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
linux服务器中安装mysql时候,远程访问的时候的乱码
今天部署皕杰报表,在linux服务器中安装mysql时候,远程访问的时候的插入中文数据会变成?,出现乱码问题。这就是编码不统一所导致的。解决方案:1.打开linux窗口,启动mysql:mysqlurootproot
Stella981 Stella981
2年前
Firefox浏览器设置字符编码格式
今天写博客,敲示例代码时遇到的问题。简单的HTML页面,在火狐浏览器出现中文乱码。如果是IE浏览器的话,直接通过菜单查看–编码就可以指定编码方式,解决乱码问题。现在Firefox浏览器版本升级太快,且展示方式也经常变化,本人还找了一番才找到火狐浏览器的设置字符编码的方式,在此分享出来,希望能帮到碰到这个问题的朋友。本人
Stella981 Stella981
2年前
Jenkins maven 构建乱码,修改file.encoding系统变量编码为UTF
一切都是windows的控制台默认编码GBK问题情景:使用jenkins构建,console输出的中文乱码。代码编码格式是utf8,因为Jenkins会默认读取当前系统的编码格式,导致构建日志乱码和selenium自动化测试输入的中文乱码。控制台输出乱码!(https://oscimg.oschina.net/oscnet/4
Stella981 Stella981
2年前
NodeJS 中文乱码解决
如果使用NodeJS。当有中文时,如果不做任何处理就会出现乱码。因为,NodeJS不支持GBK。当然,UTF8是支持的。所以,要确保不出现乱码: 1.保证你的JS文件是以UTF8格式保存的。 2.在你的JS文件中的writeHead方法中加入"charsetutf8"编码,如下例所示:  varhttpr
Stella981 Stella981
2年前
Android学习系列笔记(五)
Android基础网络第二天1post方式提交数据乱码的解决一般在公司开发客户端和服务端的编码要保持一致。android端的默认编码是utf8;做url请求时需要对参数进行URLEncode编码.URLurlnewURL("http://1
Stella981 Stella981
2年前
Python字符编码 中文乱码
<centerPython字符编码中文乱码</centerPython中可能会出现各种各样的中文乱码问题,在python程序运行中,有三个地方与编码直接相关1.系统默认编码windows系统默认编码为GBK,Linux系统默认为UTF8(不知道是不是所有Linux都默认UTF8,但至少Ubuntu是UTF8)意味着在Li
Wesley13 Wesley13
2年前
Java乱码
1.Javascript传参乱码:在浏览器端对要传递的中文参数进行编码处理.代码如下:xmlhttp.open("POST",url,true);//请求参数初始化xmlhttp.setRequestHeader("ContentType","application/xwwwformurlencoded");//因为请求方式为PO
Stella981 Stella981
2年前
GET请求传递中文参数出现乱码问题(适用于Tomcat服务器)
   中文参数乱码的问题,归根到底就是编码与解码时格式不一致导致的。要解决这类问题,首先就得分析前台传参是以什么格式对请求进行编码的,后台再以相应的格式进行解码就可以了。    Tomcat的默认编码是ISO88591,当Tomcat收到GET请求时,它会使用ISO88591对请求进行编码,因此Java后台在接收这些中
Wesley13 Wesley13
2年前
Java Web开发总结(三) —— request接收表单提交中文参数乱码问题
1、以POST方式提交表单中文参数的乱码问题<%@pagelanguage"java"import"java.util."pageEncoding"UTF8"%<!DOCTYPEHTMLPUBLIC"//W3C//DTDHTML4.01Transitional//EN"<html