new String(sb.toString().getBytes("utf-8"))
这样处理后用io流写入文件,再用Elipse打开仍有少许汉字是乱码?(当然properties中的Text file encoding设置的是utf-8)
用“gbk”格式写入就不会有乱码?为什么呀?
还有我写入这个文件是zk可zul页面,貌似只能以utf-8格式解析,否则会报“org.zkoss.lang.SystemException: org.xml.sax.SAXParseException: Invalid byte 3 of 3-byte UTF-8 sequence.
”这个错误,有没有办法改改?

解决方案 »

  1.   

    你把eclipse的workspace 的text file encoding设为 utf8,然后再试试
      

  2.   

    UTF-8是基于UNICODE    
    而UNICODE不是支持所有中文的
      

  3.   

    new String(sb.toString().getBytes("ISO-8859-1"),"GB2312"))or new String(sb.toString().getBytes("UTF-8"),"GB2312"))
      

  4.   

    最好用GB18030  GBK  GB2312
      

  5.   

    处理中文最好用gbk或者gb2312,
    在eclipse里 window-preferences-workspace里可以修改eclipse的编码方式.
      

  6.   

    new String(sb.toString().getBytes("ISO-8859-1"),"GB2312"))
      

  7.   

    文件编码方式是GBK呗,看看文件编码方式不就完了?
      

  8.   

    用cmd命令去你那.properties文件目录下 然后运行native2ascii 【你的文件名】 【新文件名】
    程序用新文件名。另外的都不用该。 这命令的主要作用是把他编译成unicode。程序里会自动转换成中文的
      

  9.   

    文件编码方式:UTF-8  or UTF-16
      

  10.   

    最简单的办法,全部改成utf-8的。一:文件本身的属性要改成utf-8。(就是记事本打开,选择另存,看看最下面的编码是ASCII还是UTF-8,这里最容易出现问题)二:如果用java写入文件,写入流的时候使用utf-8编码。三:eclipse的文件编辑属性要改成utf-8。如果是情况一,就容易乱码。想想一个ASCII的文件以utf-8打开,能不乱码么。除非内容全是英文,呵呵。
      

  11.   

    把你的用io流 的编码变成UTF-8就好了,看看哪个输出流是可以设置编码就行了。
      

  12.   

    Eclipse 在中文 Windows 中默认打开文本文件用的编码是 GBK,所以你的文件保存时应该没问题,只是用 Eclipse 打开时 Eclipse 用了错误的 GBK 解码文件造成的。在导航视图(Navigator)中选中你的文本文件并右键,选择属性(Properties),在对话框中左面选择资源(Resource),右面找到“Text file encoding”,选中其它(Other),再在下拉列表中找曹 UTF-8 字符集,确定关闭对话框,然后再打开生成的文件试试。