一般的linux的系统字符集是utf-8. 而中文windows的默认字符集是GBK.当你读取linux的文件得到的byte[]是 utf-8的byte 将这个这个byte[]直接写入windows文件,只要打开这个文件的程序支持utf-8就可以不是乱码。如果在程序中做字符串处理了。 注意要 String s = new String(b,"UTF-8");写入windows文件时,如果想用utf-8编码写入 byte[] out = s.getString("UTF-8"); 想用GBK byte[] out = s.getString("GBK");
建议不要使用中文保存,把中文按照unicode格式来保存,再做转换吧,用native2ascii工具
或者是说你是通过什么方式解析的这个xml文件 ?
在UTF-8下没有问题.那么在你解析的时候是否有去做UTF-8到GB2312的转换?
例如想如下这样的转换: String(data.getString("shortNameCn", i).getBytes("GBK")));我的数据库编码格式是UTF-8的
而中文windows的默认字符集是GBK.当你读取linux的文件得到的byte[]是 utf-8的byte
将这个这个byte[]直接写入windows文件,只要打开这个文件的程序支持utf-8就可以不是乱码。如果在程序中做字符串处理了。
注意要 String s = new String(b,"UTF-8");写入windows文件时,如果想用utf-8编码写入 byte[] out = s.getString("UTF-8");
想用GBK byte[] out = s.getString("GBK");