对xml文件进行解析,xml文件是utf-8的格式,在windows xp 系统下,解析中文正常,但是到unix环境下,中文就是乱码,请问这个什么原因?应该如何解决
有可能是BOM问题?用Windows记事本编辑过的文本都带BOM,有可能会造成乱码。
你在unix环境中手工新建一个xml然后读取试试? unix环境支持中文,字符集LANG=en_US。代码如下:
DocumentBuilder domBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
InputStream input = new FileInputStream(filename);
Document doc = domBuilder.parse(input);
NodeList nl = doc.getElementsByTagName("detail");
for (int i=0;i<nl.getLength();i++)
{
String vchclob = doc.getElementsByTagName("vchclob").item(i).getFirstChild().getNodeValue;
System.out.println(vchclob);
}
打印出来的vchclob中的中文字符全是乱码
,以为读取汉字要进行转码,没想到越转越错,不转就对了,呵呵