----------------解决方案--------------------------------------------------------
你搞的我晕头转向的!我说了System.out.println(rs.getString("MC"));,我这样在java类里取都显示的是乱码,我觉得这就扯不到页面编码的事吧,我这些数据也是直接用sql语句在控制台插进去的。
你一步步教我吧,我的情况:JSP页头设置的是GB2312,数据库编码,不知道。
该怎么搞
----------------解决方案--------------------------------------------------------
你搞的我晕头转向的!我说了System.out.println(rs.getString("MC"));,我这样在java类里取都显示的是乱码,我觉得这就扯不到页面编码的事吧,我这些数据也是直接用sql语句在控制台插进去的。
你一步步教我吧,我的情况:JSP页头设置的是GB2312,数据库编码,不知道。
该怎么搞
你先设置为GBK,他比GB2312的编码集多。
我说了System.out.println(rs.getString("MC"));你这个用了RS从库里取数据了,而这个取出的数据在放入库的时候当然是编过码的,你取出显示它的编码和你页面编码不一样就出现乱码了,这么说你明白了么?
所以要么数据存入库的编码和你需要的一致,要么就是从库读出来数据后转码到你页面编码。
----------------解决方案--------------------------------------------------------
放入库的时候我又不知道数据库把他转换成什么编码了。
我现在想System.out.println(rs.getString("MC"));得中文字符怎么办,设置url = "jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=GBK"我试过了不行
----------------解决方案--------------------------------------------------------
放入库的时候我又不知道数据库把他转换成什么编码了。
我现在想System.out.println(rs.getString("MC"));得中文字符怎么办,设置url = "jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=GBK"我试过了不行
那你就System.out.println(new String(rs.getString("MC").getBytes("iso8859-1"),"GBK"));吧
----------------解决方案--------------------------------------------------------
好,这一步是可以得到中文字符。那我现在JSP里页头也设置成了GBK,该怎么办,难道我JSP页面里每个getXXX都象这样转换下?
----------------解决方案--------------------------------------------------------
request.setCharacterEncoding("GBK");你试了么?
----------------解决方案--------------------------------------------------------
试了,用到的几个页面前面都加了,还是不行。而且加上这样url = "jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=GBK"也不行
----------------解决方案--------------------------------------------------------
所以你如果不从根本解决问题只好每次取的时候都转码了。
建议你还是存入库前就先转成指定编码在存储。
----------------解决方案--------------------------------------------------------
怎么指定mysql的编码格式
----------------解决方案--------------------------------------------------------