转一下看看tcm.getBytes("ISO8859_1")

解决方案 »

  1.   

    谢谢指教。但是,这样处理后,将myQuery在屏幕上输出为乱码(倒也无妨),但最主要的是虽然程序可以运行,但是查询结果为空。然而事实上应当是有匹配的记录的。能否解释分析一下你的想法。谢谢。
      

  2.   

    昨晚调试了一晚上,最后终于明白,还是跟MySQL的内部编码有关。如果MySQL采用的是ISO8859-1的编码,则通过大家都采用的String(str.getByte("GB2312"),"ISO8859-1")这样的方法将输入输出转码后就不会再有JDBC传送含有中文字符的SQL语句出错的问题;但是如果MySQL采用的不是默认的ISO8859-1(即latin1)编码的话(我采用的UTF-8),那么采用类似的字符串转化方法仍然无法解决中文传送问题,可能是解码后的字符中含有非法字符的原因吧,个人猜测^_^。所以,当我将MySQL编码字符集恢复为默认的latin1,再在输入输出过程中对含有中文的String加以编码转换后问题得到了解决。在此,谢谢giftxi(alfred) 朋友提供了解决的提示!送上加分以示感谢!也希望其他的朋友能就此问题进行更深入的讨论,看有无更好的方法对MySQL采取不同编码时的情况如何加以解决。