你从库里取的,取出来的和你页面编码不同所以才乱码。要么你在写入库之前就转个码,要么读出来后转个码



你搞的我晕头转向的!我说了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(new String(rs.getString("MC").getBytes("iso8859-1"),"GBK"));吧
request.setCharacterEncoding("GBK");你试了么?