英文ascii是单字节的,而中文是双字节的,也就是unicode,打个比方,一个中文字符的编码这样子,高字节是FA,低字节是EF,那么,如果你的程序在解释字节流的时候,是按ASCII的方式也就是单字节的方式解析,那么得到的就是FA代表的ASCII字符,EF代表的ASCII字符,而不是FAEF组合所代表的一个中文字。

解决方案 »

  1.   

    是由于JAVA处理字符不强的缘过,而且我觉得JAVA处理字符串也很差,远没有C++功能强大,大家说是不是呀
      

  2.   

    呵呵,还在这里说Java吗?多看看IO啦,我觉得Java不算差。
      

  3.   

    换个高点的版本的JDK,应该能解决哦
      

  4.   

    这个程序好像只能运行在JDK1.1下,是sybase的一个监视器。
    我只是想让它正常运行起来。诸位有对font.properties和font.properties.xxx文件等有研究的么?
    %javahome%\lib 下的这些文件好像是配置文件,我试着改动以一下其中的内容,
    发现有一些变化,不止我是否可以让程序全都变成英文显示。
      

  5.   

    JAVA还算好用吧,每种语言都有它的优点,看你如何正确使用,这个。。我不太了解
      

  6.   

    你用java 的native2ascii命令试一下,这个命令应该在安装jdk后的bin目录下。
    用 native2ascii 文件名(*.properties) 转换你的properties文件编码,然
    后使用这些转换过编码的properties文件,应该没问题的 :)
      

  7.   

    这里有两个文件native2ascii.exe和native2ascii_g.exe要用到哪一个?
    这两个文件的作用是什么?
    都要转换哪几个(*.properties) ?如果我想得到关于native2ascii.exe更多的帮助信息,要上那找??麻烦告知,先谢谢了;-)
      

  8.   

    呀,我做的程序在别人的机器上运行也有这个问题,不过是中文变成了?哈哈,,我的jdk是1.3 的,,,我用visualage for java3.0 里面怎么显示是1.7,,好奇怪,我做了一个游戏,,http://web.scuec.edu.cn/~game002/summer/bbs/html/index.php?file=2003.04.01_08.12.37&lm=1/open欢迎去玩啦,
      

  9.   

    我说的方法是用来做国际化的,显示gui上的文字,比如页面上的固定信息,label什么的,在properties文件中会定义对应这些信息的不同语言版本,然后用native2ascii命令转换成你想要的编码方式,用法就是 c:\>j2sdk\bin\native2ascii -编码方式 ***.properties,编码方式可以有多种选择,在网上应该可以查的到,编码方式后面跟文件名就行了。
      

  10.   

    你把字符集删了还显示个屁呀
    你把WINDOWS的FONT目录删了看看了
      

  11.   

    这个东西只能在JDK1.1.x下运行呀,是sybase的一个监视器。
      

  12.   

    给JAVA虚拟机加上一些属性:
    -Dfile.encoding=GBK -Ddefault.client.encoding=GBK -Duser.language=zh -Duser.region=CN
    把它跟在javaw的命令行后面当参数,哈哈,搞定!
    在JBuilder中选择Project->Project Properties->run->edit->VM Parameters,填上就行了!配置心得:
    在JDK低版本和UNIX下,需要改动font.properties,让JAVA VM能够找到合适的字体来显示汉字。
    目前为止,javaw有Bug,只使用英文的Local,需要给VM加上属性才行正常显示中文。
    试试这个,偶这里没有你的那个版本
      

  13.   

    感谢teav的指教,让我学了不少东西;-)