问题描述
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");
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。