在我的Java程序中,我正在从XML中检索一些数据。这个XML有一些国际字符,并且采用UTF8编码。现在我使用XML解析器读取此XML。一旦我从XML解析器中检索到特定的国际字符串,我需要将其与预定义的字符串集进行比较。问题是当我在国际字符串上使用string.equals时,比较失败。
如何在Java中比较国际字符串?我正在使用SAXParser和XMLReader从XML中读取字符串。
以下是比较字符串的代码行:
如何在Java中比较国际字符串?我正在使用SAXParser和XMLReader从XML中读取字符串。
以下是比较字符串的代码行:
String country;
country = getXMLNodeString();
if(country.equals("Côte d'Ivoire"))
{
}
getXMLNodeString()
{
/* Get a SAXParser from the SAXPArserFactory. */
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();
/* Get the XMLReader of the SAXParser we created. */
XMLReader xr = sp.getXMLReader();
/* Create a new ContentHandler and apply it to the XML-Reader*/
XmlParser xmlParser = new XmlParser(); //my class to parse xml
xr.setContentHandler(xmlParser);
/* Parse the xml-data from our URL. */
xr.parse(new InputSource(url.openStream()));
/* Parsing has finished. */
//return string here
}
UTF-8
的控制台上执行System.out.println(country)
(如果您使用Eclipse,可以通过Window > Preferences > General > Workspace > Text File Encoding配置控制台编码),然后将其粘贴到此处。注意:当您说“国际字符”时,实际上是指"Unicode字符"。 - BalusC