共计 428 个字符,预计需要花费 2 分钟才能阅读完成。
问题形容
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");
正文完