java中request乱码解决方法

java中POST通过request body传递参数乱码,可以通过设置response的字符流的编码方式为UTF-8解决。get方式乱码可以先设置request数据以ISO8859-1方式编码,然后以UTF-8方式解密即可。

java中request乱码解决方法

POST中文乱码解决方式:

POST通过request body传递参数。设置response的字符流的编码方式为UTF-8。

request.setCharacterEncoding("UTF-8"); 这句话解决了POST方式提交的中文乱码问题,这个方法设置了请求正文中的字符编码,所以服务器解析的时候会按照UTF-8的形式进行解码。但是这个方法对get方式没有效果。

(推荐:java视频教程)

GET中文乱码解决方式

GET方式通过url进行传递参数。

// 下面的方式可以解决post或者get方式的中文乱码问题
// 这里接收的name是iso8859-1的字符编码
String name = request.getParameter("username");
// 将name字符串按照原来字符编码打散
byte[] bytes = name.getBytes("ISO8859-1");
// 将bytes字节数据按照指定字符编码字符编码进行组装,组装为String
name = new String(bytes, "UTF-8");
//真正的写法:name = new String(name.getBytes("ISO8859-1"), "UTF-8");
只听到从山间传来架构君的声音:
曲终过尽松陵路,回首烟波十四桥。有谁来对上联或下联?

谢谢大家,希望帮助更多的人

架构君码字不易,如需转载,请注明出处:https://javajgs.com/archives/35795
0

发表评论