我用Unicode码在xml存一些中文字符,xml的编码是utf-8的。但我读取是就转不成汉字了。
这是xml里的部分编码:8\u670826\u65e5\u827eddsfas
读出来输出的也是这样的,不知道怎么把Unicode码显示成汉字

解决方案 »

  1.   

    你存xml的时候指定转成gbk编码的unicode应该就可以了,这样应该不是很困难吧
      

  2.   

    jdk \bin目录下 native2ascii.exe 工具
      

  3.   

    或者 
    怎么把"\\u65e5"这样的Unicode码转成汉字
      

  4.   

    读入byte数组,然后用String的
    public String(byte[] bytes,
                  Charset charset)
    这个构造方法就得到了.
      

  5.   

    C:\JDK\JDK 5\bin>native2ascii.exe -reverse
    \u65e5
      

  6.   

    我是用程序程序读的大哥,要是能用dos命令我早用了
      

  7.   

    public class UnicodeToNormalTester {
        public static void main(String[] args) {
            System.out.println(unicodeToNormal("\u65e5", "GBK"));
        }    public static final String unicodeToNormal(String unicodeString, String charset) {
            try {
                return new String(unicodeString.getBytes(charset));
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            }
            return unicodeString;
        }
    }
      

  8.   

    用 Apache Commons Lang 包中的 StringEscapeUtils 工具类就能转了。Commons Lang 包很可能就在你的 classpath 中了,大多数的开源框架都会用到这个包,
    名为:commons-lang-x.x.jarimport org.apache.commons.lang.StringEscapeUtils;public class Test01 {
        
        public static void main(String[] args) {
            String str = "8\\u670826\\u65e5\\u827eddsfas";
            System.out.println(str);
            str = StringEscapeUtils.unescapeJava(str);
            System.out.println(str);
        }
    }输出结果:8\u670826\u65e5\u827eddsfas
    8月26日艾ddsfas
      

  9.   

    如果没有的话,到 http://commons.apache.org/lang/ 上面去下载就可以了。
      

  10.   

    Unicode值是16进制,转换成10进制再强制转换成char输出就是汉字。
    我用这个方法
    http://blog.csdn.net/cccp21/archive/2007/12/05/1919279.aspx
    不知道是不是很笨。