json乱码问题

List list = new ArrayList();
list.add("张三");
list.add("李四");
JSONArray jsonArray = JSONArray.fromObject(list);
System.out.println(jsonArray);
String xmltest=new XMLSerializer().write(jsonArray);
System.out.println(xmltest);




-------第一个打印正常---------
["张三","李四"]

-------第二个打印乱码---------
<?xml version="1.0" encoding="UTF-8"?>
<a><e type="string">寮犱笁</e><e type="string">鏉庡洓</e></a>

 

试试write(json, "GBK");

JVM字符串编码和系统编码有关吧?用GBK试试。就是new XMLSerializer()设下编码。

[quote]write(json, "GBK");
之前发错了,经测试,这样写不出乱码,但我要求xml必须是utf-8的 [/quote]
那write(json, "utf-8");
可以么,