今天测试一个插入功能的时候,出现一个怪问题,当输入汉字“和珅”的时候,插入数据库居然是“和?”。数据库是sql server2005的,程序编码都是gb2312的,不知道这是什么情况

解决方案 »

  1.   

    中文乱码问题
    设置编码格式
    把ISO-8859-1码转换成GB2312
    在参数传递时对参数编码,比如 
      RearshRes.jsp?keywords=" + java.net.URLEncoder.encode(keywords) 
      然后在接收参数页面使用如下语句接收 
      keywords=new String(request.getParameter("keywords").getBytes("8859_1")); 
      

  2.   

    http://topic.csdn.net/u/20100915/18/0922e42b-4a1b-4957-be88-cc8872d41915.html
    有必要重复发帖么?
    你看看数据库字段长度有没有问题。
      

  3.   

    先打印试试.打印有错,就证明数据在传输和写入数据库的时候就已经有错误
    解决方法,在数据提交页写一下2句代码即可,建议搞一个过滤器,然后写进去request.setCharacterEncoding("gb2312");
    response.setCharacterEncoding("gb2312");打印没有错误的话,多数是数据库本身的问题,我用EMS SQl Manager(For MySql)试过类似情况,最后受不了,重装了一下,没事了~~
      

  4.   

    tomcat conf下server.xml
      <Connector port="8081" protocol="HTTP/1.1" 
                   connectionTimeout="20000" 
                   redirectPort="8443" URIEncoding="UTF-8"/>
      

  5.   

    你这个java问题我怎么觉得不是呢。。
      

  6.   

    gb2312 出来得比较早 ,所以有一些汉字和繁体好象不支持
    utf-8>gbk>gb2312
    用utf-8试下!
      

  7.   

    这问题以前使用commons_upload工具上传文件时遇到过,也就和楼主说的一样,汉字有些是正确的,有些是乱码,后来找了半天原来是在字符转码时使用的方法不对,有点自找麻烦的感觉吧.
    好好找找你乃至的转码的地方,想想是不是转码方法有问题.
    应该不太难的