jsp页面加上<%@ page language="java" contentType= "text/html;charset=gbk" pageEncoding="gbk"%>servlet中也添加了
response.setCharacterEncoding("gbk");
request.setCharacterEncoding("gbk");myeclipse中编码设置也为gbk但当把汉字存入SQL Server数据库时确还是乱码(乱码为?,??),我把编码改成UTF-8,UTF-32,GB2312,ISO-8859-1等等都没解决。希望能得到高手的指导,谢啦

解决方案 »

  1.   

    可以 参考
    http://developer.51cto.com/art/200708/53612.htm
      

  2.   

    看看你数据库的编辑是什么,是否也是gbk。
    建议把所有编码设置成uft-8。
      

  3.   

    但当把汉字存入SQL Server数据库时确还是乱码(乱码为?,??),我把编码改成UTF-8,UTF-32,GB2312,ISO-8859-1等等都没解决。希望能得到高手的指导,谢啦自己都知道是数据库变乱码了。。你可以看下!
      

  4.   

    我是个实习生,在实习期间做项目的时候也遇到过乱码问题,总之这个问题很讨厌的,提供几个我们解决问题的方法,但这都要根据你的实际情况来决定哪一个比较好。
    1 你说的哪些方法都是一些必须采取的措施,其实可以采用过滤器filter的,他的作用主要是过滤从JSP页面提交过来的中文编码。(例子么网上有很多,尤其是编码的过滤器很典型,你可以去找找我就不再给你写了。)
    2 服务器端数据传输时候的编码这个其实可以靠setCharacterEncoding()搞定,但不建议采用GBK,至少我不喜欢用有的时候会出意想不到的错误,UTF-8比较好.
    3 有的时候如果你采用流的话,这里也会引起编码问题,特别是如果你是用的是stream的话,原本的汉字会变成??,??这种东西。
    4 如果你的数据又通过href传输的时候这里要特别进行编码的。
    5 页面的编码也要特别注意,如果采用word、 DREAMWEAVER以及类似的软件,他们的编码都有附加的脚本之类的,不要直接拷贝过来用,中文会变成乱码。
    我还是个新人想到就这些,与大家分享,如果有不对的地方还希望大虾们指正。
      

  5.   

    补充下  忘了 一条开发环境的编码,比如:ECLIPSE  
    解决乱码问题 大部分也是在这几个地方去找原因
      

  6.   

    谢谢各位的关注,问题依旧,另外我tomcat编码也为GBK,也使用了过滤器,还是不行,但当我采用
    String str = new String (str1.getBytes("ISO-8859-1"))转换后再存入数据库就正常了,不是太明白,这样说来SQL Server数据库的编码方式是ISO-8859-1了,但像上面我说的那样将所有的都改为ISO-8859-1也不行。另外数据库的编码方式从哪看到啊
      

  7.   

    http://zhidao.baidu.com/question/116035892.html?fr=ala0
    这是sql server的改编码的方式
      

  8.   

    楼主可以试试这个方法:
    public String GBK(String str){
      String s="";
      try{
         s=new String(str.getBytes("ISO-8859-1"),"gb2312");
        
           
         }catch(Exception e){}
        return s;
      
    }
    然后接受参数时 GBK(request.getparameter(你的参数名));这个代码是实现编码转换的问题……如果你是在servlet里实现把参数传到数据库的则把这个方法放在前面就好了,如果是在jsp页面里实现参数传到数据库的则注意加<%! %>就可以了……(额……我的表达能力差,反正我都是这么用的如果你还不行那我也不知道了毕竟我不知道你具体框架是怎么样的……)
      

  9.   

    我用的确实是Servlet,这样我也试过,不只是“gb2312”,换成“gbk”又或者直接去掉后面的那个字符编码即s=new String(str.getBytes("ISO-8859-1"))都能正常存储,但不管哪种存储,正常存储后若再将数据取出来在页面上修改后再存入数据库时就又变成乱码了,这次的解决方法是不用再进行编码转换了,直接就可以正常存入。不知道为什么????