你先在sqlplus里面select看看字符是否显示正常
如果这里就不正常的话,那就是你写入数据库的时候没有转换字符集,需做反面转:str = new String(str.getBytes("GB2312"), "iso-8859-1");
如果在数据库里面是显示正常的,通过returnValue = new String(str.getBytes("iso-8859-1"), "GB2312");转换后,在java里面System.out.println()输出来还是乱码,那就是真的有问题了……具体我也不好确定。
若是在jsp里面显示有问题,设置:
<%@page contentType="text/html;charset=gb2312"%>
即可
如果这里就不正常的话,那就是你写入数据库的时候没有转换字符集,需做反面转:str = new String(str.getBytes("GB2312"), "iso-8859-1");
如果在数据库里面是显示正常的,通过returnValue = new String(str.getBytes("iso-8859-1"), "GB2312");转换后,在java里面System.out.println()输出来还是乱码,那就是真的有问题了……具体我也不好确定。
若是在jsp里面显示有问题,设置:
<%@page contentType="text/html;charset=gb2312"%>
即可
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType(CONTENT_TYPE);
response.setContentType("text/html; charset=gb2312");
哪位大吓碰到过,急急急!!
如果你存的时候用的是iso-8859-1,那你取的时候用
returnValue = new String(str.getBytes("iso-8859-1"), "GB2312");
肯定没错,
哪里有什么设置吗?