日期:2014-05-17  浏览次数:20661 次

求助:关于JSP页面打印mysql数据乱码的问题
最近在学java web。我的mysql在CMD界面里,select * from table 显示的是中文,在JSP页面的数据库插入,也能插入中文。插入后的中文,在CMD界面里select 也能看到中文是正确的。但问题来了,我的JSP直接嵌入中文能正确显示,但从数据库查询出来再out.println()是乱码,全是?问号。甚至于System.out.println()后台打印的中文也是乱码。而打印数字、英文字符、日期、均能正常显示。我的编译工具是MyEclipse7.0。破解注册码是网上找的一个java程序自动生成的。

------解决方案--------------------
我也碰到过这个问题,不过我已经解决了,在你servlet里的doPost()方法里这样写
String name = request.getParameter("name");
name = new String(name.getBytes(("ISO-8859-1")),"UTF-8");
我就是用上面的方式解决的,其实还有很多种方式都可以解决出现?的问题,例如:使用两次编码,在Ajax里使用window.encodeURL函数转码,在Servlet里使用Uncode进行解码也是可以解决乱码问题。
------解决方案--------------------
转码,编码集不一致
------解决方案--------------------
探讨

转码,编码集不一致

------解决方案--------------------
探讨
转码,编码集不一致

------解决方案--------------------
可以看出楼主是用的GBK编码。

你可以在连接字符串中加入编码方式,如下
jdbc:mysql://localhost/XXXX?user=root&password=&useUnicode=true&characterEncoding=GBK

------解决方案--------------------
从数据库查出来的时候,进行编码设置