确实是个麻烦 
最麻烦的是mysql不支持Unicode 其他的数据库我都是用Unicode来解决国际化和本地化的问题
至于你的问题 我提个建议不知道可行不可行 一般情况 用你上述方法处理是值得推崇的我的方法是 在你连接数据库的时候 设置encoding为gb2312
如下所示:
jdbc:nmysql://localhost/table?useUnidoe=true$&charactrrEncoding=gb2312

解决方案 »

  1.   

    写错字 呵呵
    jdbc:mysql://localhost/table?useUnicode=true$&characterEncoding=gb2312在程序的其他地方就不需要进行转换了
    但对于你的系统我不知道修改大不大 如果你把与数据库的连接提出来写成了一个类 那修改量是很小的
      

  2.   

    這不是数据库的字符集问题
    是tomcat設置的問題.因為tomcat中處理的時候,都用的是默認的ISO-8859-1.所以你從servlet裡面讀寫的時候,都需要轉換.我記得可以修改web.xml得某些內容.或者tomcat得源代碼(apache就要通過修改源代碼得方式)你可以上網羅查查
    http://www.jdon.com/idea/2001-10-15.html
      

  3.   

    谢谢,以上给位。现在这个问提以经解决!
    jdbc:mysql://localhost/table?useUnicode=true$&characterEncoding=gb2312开始的时候我也是用的这个URL,但同样出现乱码!后来我把MYSQL的字符集该成了 gb2312,
    在取出的时候就不用在进行转换了,但在写入数据库的时候,还是需要转换一次
      

  4.   

    String test = "中国";
    test = new  String(test.getBytes("ISO-8859-1"),"GB2312");
    没事不要用到iso-8859-1,这个东西一般都是在跨平台是才用的到,直接
    test = new  String(test.getBytes("GBK"));试试
    要是还不可以,改改url为:
    jdbc:mysql://localhost/table?charset=GBK