firstChild.setAttribute("attr", new String("中文测试","ISO-8859-1");i forgot the encode type,may be using DEFAULT and if your JDK is internation editor,or try modify ISO-8859-1 to gb2312

解决方案 »

  1.   

    改成
    firstChild.setAttribute("attr", new String("中文测试".getBytes(),"ISO-8859-1"));
    的结果:<?xml version="1.0" encoding="UTF-8"?>
    <test-root>
        <test-attribute attr="&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;&#65533;"/>
    </test-root>
    ------------------------------------
    改成
    firstChild.setAttribute("attr", new String("中文测试".getBytes(),"GB2312"));
    的结果:<?xml version="1.0" encoding="UTF-8"?>
    <test-root>
        <test-attribute attr="中文测试"/>
    </test-root>
    ------------------------------------请看清我的问题:我现在能正确输出GB的中文,但是我需要的是UTF-8的!BTW:
    改成:
    firstChild.setAttribute("attr", new String("中文测试".getBytes(),"UTF-8"));
    的结果:<?xml version="1.0" encoding="UTF-8"?>
    <test-root>
        <test-attribute attr=""/>
    </test-root>………………在我看来这个问题值200分的!
      

  2.   

    ic,but i at hometown at netbar,not setup java and anymore,so faint
      

  3.   

    javac -encoding UTF-8 xxx.java 试试
      

  4.   

    因为直接运行上面的程序(中文是写在程序里面的GB码)会产生???????,我运行了本来的程序,结果……所有的中文……都……还是GB的……呜呼呀……
      

  5.   

    好变态的问题,好像无解.
    不过给你一个变态解法
    System.out.println(new String("中文测试".getBytes("iso_8859-1"),"utf-8"));这是输出 ????
      

  6.   

    to  Asprilla(dont shoot me) 能说得详细一些????是不行的,一定要是正确的,可以被任何一个XML编辑器打开的UTF-8的中文……
      

  7.   

    doc.setEncoding("UTF-8");这一句从何而来?你的程序中hardcode的"中文测试"是什么编码,写到XML中自然是什么编码。因此换一个UTF-8的编辑器将你的程序中的“中文测试”换成UTF-8保存就可以了。
      

  8.   

    有的Parser有doc.setEncoding("UTF-8");方法。如果是手工的话我当然知道了,通过Java Code有没有什么办法呢?
      

  9.   

    JFC似乎没有方便的转码方法,不过JDK有一个native2ascii工具可以用于转码成Latin-1 和 Unicode-encoded (\u####)字符
      

  10.   

    发现The JavaTM Tutorial讲诉了转码的问题,参见:
    http://java.sun.com/docs/books/tutorial/i18n/text/convertintro.html
      

  11.   

    http://expert.csdn.net/Expert/topic/1388/1388190.xml?temp=.3039209
      

  12.   

    xml使用 uft-8 编码,原来就是 中文的 就显示为中文,是日文就显示成日文,utf-8编码是为了统一编码才出现的,你要向别的办法了
    只有你本来的字符是
    "涓&#65533;&#65533;娴&#65533;&#65533;"
    的时候,才能输出成这样的
      

  13.   

    to All "涓&#65533;&#65533;娴&#65533;&#65533;"不是我原文件的内容,这个是CSDN转码后的结果,原来的内容就是标准的乱码的UTF-8。
    我问这个问题的原因是WSAD在存储XML的时候做字符转化,不知道各位有没有用过WSAD。我可以向WSAD的XML编辑器里面输入GB中文,但是只要我指定了<?xml version="1.0" encoding="UTF-8"?>这句,存储的时候这个文件中所有的GB中文都变成UTF了。所以我觉得应该是有办法解决这个问题的,求救!
      

  14.   

    我用JAXB+xml schema时当输出XML时中文全部转换成UTF-8,即:&#12345;&#12234
    我想用的是中文的内容。
    请问:UTF8如何转换成中文的GB?
      

  15.   

    hi,
    当你写文件的时候不要用writer, 应该用outPutStream. writer会自动把String 转换成系统却省的encoding. 因为你的系统是中文的,所以你看到的总是GB2312或者GBK.
      

  16.   

    to hellking(信息孤岛)你的做法是正确的,谢谢!