你好,你的想法对。请参考:http://expert.csdn.net/Expert/topic/1270/1270914.xml?temp=.2078058http://expert.csdn.net/Expert/topic/1378/1378035.xml?temp=.4579431http://expert.csdn.net/Expert/topic/905/905950.xml?temp=.9023096http://expert.csdn.net/Expert/topic/1169/1169800.xml?temp=3.455752E-02

解决方案 »

  1.   

    呵呵,看得脑袋都晕了,还是没搞清楚,要在JSP中把UTF-8转换成gb2312写入数据库,是否应该这样:new String(str.getBytes("UTF-8"),"gb2312"),我试了,这样写入数据库的是乱码,我用的是Tomcat4、SQL Server2000、JBuilder7
      

  2.   

    我的写入数据库的JSP页面里的关键代码就是:String strUserName = new String(request.getParameter("username"));
    strUserName = new String(strUserName.getBytes("UTF-8"),"gb2312");
    String sqlString = new String("insert into employees values ('"  +  strUserName +  "', ");
    stmt.execute(sqlString);
      

  3.   

    哦,不好意思,SQL段的代码贴错了,应该是:
    String strUserName = new String(request.getParameter("username"));
    strUserName = new String(strUserName.getBytes("UTF-8"),"gb2312");
    String sqlString = new String("insert into employees values ('"  +  strUserName +  "') ");
    stmt.execute(sqlString);
      

  4.   

    如果你使用的是tomcat   将servlet  包反编译  修改  涉及转换的地方就一劳永逸了  (记得就一处)
      

  5.   

    改哪个地方?是这样的,我之所以采用UTF-8编码的网页来提交数据,是为了使网站具有更好的“国际化”性(网站可能会同时采用多种语言),我想问一下改了之后会不会影响到这一点呢?
      

  6.   

    你是在windows操作系统吗??utf8字符集处理比较麻烦的===================================
             情人节快乐
            有情人终成眷属
       我的一分耕耘,你能给一分收获
      

  7.   

    是的,我用的是windows 2000 server
      

  8.   


    strUserName = new String(strUserName.getBytes("UTF-8"),"gb2312");换成strUserName = new String(strUserName.getBytes("UTF-8"));或者strUserName = new String(strUserName.getBytes("UTF-8"),"iso8859-1");或者:strUserName = new String(strUserName.getBytes("GBK"),"UTF-8");或者:strUserName = new String(strUserName.getBytes("iso8859-1"),"UTF-8");按理由windows对中文的支持是非常完美的,我是在linux下转换的,所以才问你的操作系统是什么===================================
             情人节快乐
            有情人终成眷属
       我的一分耕耘,你能给一分收获
      

  9.   

    试了strUserName = new String(strUserName.getBytes("UTF-8"),"iso8859-1")可以工作!!多谢berning,可我没搞懂为什么是这样做?