根据我的试验,还是全部用回latin1出来的结果是正确的。用utf-8,或gb2312等等都得不到正确的结果,总是会少了几个字,或者输入后输出的结果不正确。估计是由于输入的内容实际并不是存储时用的字符集,而mysql本身是不做转换直接就存进去,结果读出来就不正确了。

解决方案 »

  1.   

    同意sender说的。如果不重新编译源代码,确实全部使用latin1是最方便,也最准确的,最多只需要主下码。
    如果重编译源码,将字符集选项设为gbk即可。
      

  2.   

    utf8不是国际化编码吗?为什么不能支持呀? 还有就是,我在Jsp页面里面加入一个charset=utf-8,只要是中文就变乱码了,为什么所谓的国际化编码不支持中文显示呢?有没有办法解决这个问题,我想在最终显示页面里面字符集用utf-8?
      

  3.   

    将字符设为GB2312,
    在DELPHI中是Font.Charset=GB2312_CHARSET
      

  4.   

    请问你的Mysql是Win的还是Linux下的?因为你问题一中select出来的并没有正常的显示,所以暂时认为你插入的根本就不是u8的数据,我使用mysql+php开发,mysql的设置也是u8的,php页面上显示的同样是正常的编码,有一点值得注意,在apache中也需要设置charset为u8,这样才是正常的。
      

  5.   

    utf8在dos下是不能正确显示的,但是在mysql-browser就可以正确显示。至于在jsp页面下想正确显示的话,要先用文本打开,另存为**.jsp的时候,选择字符集utf8,因为默认的情况下是选ANSI字符集!