关于java:java-servlet-中文乱码问题解决

问题形容

1.前端通过ajax发送的数据中存在中文,后端java servlet接管到的是乱码
2.后端从数据库读取到数据后,返回给前端的中文是乱码

解决办法

问题1应用encodeURI函数来解决。
前端发送数据时参考如下代码对可能呈现中文局部的数据进行编码。

 sendData.sname=encodeURI(sname);

在servlet中的doGet等函数中按如下的代码来解码

String sname=URLDecoder.decode(request.getParameter("sname"), "utf-8") ;

问题2须要设定response的编码方式
在servlet中的doGet等函数中退出如下的代码

request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
response.setCharacterEncoding("utf-8");

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理