java web乱码问题原因及解决方法

当浏览器的编码格式为utf-8,

则浏览器在以post方法提交数据时为utf-8格式

而tamcat web服务器接收时则以iso-8859-1的编码格式接收,然后封装给request对象自然产生了乱码

解决方法很简单:在servlet dopost()方法中

//该函数只针对post方法中的请求体

request.setCharacterEncoding("utf-8")  //告诉服务器喂 要以utf-8接收两边要一直有

当以get方法提交数据时

同样因上述原因引起的

解决方法很简单

String string=new String(request.getParameter("username").getBytes("iso-8859-1"),"utf-8");

因为以ios-8859-1解析的 所以一这种方法得到字节再转换成utf-8

应该post方法也试用 (如果也可以的 提醒我一下)

=====================================

也可以写在fliter中进行处理重写request的getparameter(string)方法返回utf-8格式的编码文字

原文地址:https://www.cnblogs.com/Small-Life/p/3627111.html