java servlet 中文乱码问题解决

Posted 老谢

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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");

以上是关于java servlet 中文乱码问题解决的主要内容,如果未能解决你的问题,请参考以下文章

Servlet中文乱码问题解决办法

java servlet中文乱码

servlet乱码

idea使用tomcat启动servlet时在idea的Output打印中文乱码问题

Servlet--j2e中文乱码解决

servlet 乱码解决方法