发布网友 发布时间:2022-04-24 08:42
共2个回答
热心网友 时间:2023-10-09 04:33
这个问题的解决不在于用什么编码方式,而在于你数据所经过的所有地方都采用同样的编码方式。在这儿我推荐UTF-8,因为它更容易和其它系统兼容以及升级的问题。
1、前端,要确定你的Content-Type头中编码方式是UTF-8。
2、你要确定你的页面编码的确是UTF-8.
3、你的JSP也得是UTF-8编码
4、你的前后端交互数据也得是UTF-8
5、你的MySQL字符串字段要采用UTF-8,此处一般用UTF-8的general ci。
6、有的时候连接数据库的时候需要指定编码方式。
目前想到这么多,重点还是一条,所遇的地方编码方式要一致。而不在于使用什么编码方式。追问在这种情况下为什么servlet中还会出现乱码呢,test.jsp的表单提交到TestServlet处。
//TestServelt.java如下
public class AdminAddServlet extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
String test = request.getParameter("test");
System.out.println(test); // 出现乱码问题
}
}
追答这一步乱码可能是因为你的JVM启动的的编码方式不是UTF-8,你可以看一下啊服务器启动时的控制台输出信息,确认一下。
热心网友 时间:2023-10-09 04:33
自己一步一步验证 system.out.print()输出你的内容是不是乱码 我估计是数据库的问题 我以前遇到过 应该是之前数据库的编码不是utf-8 后改的这个编码 mysql不是很完美 建议把数据库删了 重新建一个utf-8的数据库 还有表什么的