我正在使用 netbeans 开发 LWUIT 项目以在 Blackberry 环境中运行。这个项目将从.net web 服务读取数据,我使用了 ksoap2 和 Sax Parser。解析器看起来像这样
public static Vector ParseSAX(String input ,final String[] elements) {
final Vector values = new Vector();
try {
SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser saxParser = factory.newSAXParser();
DefaultHandler handler = new DefaultHandler() {
public void startElement(String uri, String localName, String qName,
Attributes attributes) throws SAXException {
for(int u = 0;u < elements.length;u++){
if (qName.equalsIgnoreCase(elements[u].toString())) {
flag = true;
}
}
}
public void endElement(String uri, String localName,
String qName) throws SAXException {
}
public void characters(char ch[], int start, int length) throws SAXException {
if (flag) {
values.addElement(new String(ch, start, length));
flag = false;
}
}
};
InputStreamReader inputStream = new InputStreamReader(new ByteArrayInputStream(input.getBytes()), "UTF-8");
InputSource is = new InputSource();
is.setEncoding("UTF-8");
is.setCharacterStream(inputStream);
saxParser.parse(is, handler);
} catch (Exception e) {
e.printStackTrace();
}
return values;
}
我关心解析阿拉伯字符。
顺便说一句,我将项目编码转换为 UTF-8 并在 project.properties 和 private.properties 中更改了 javac.encoding=UTF-8 我添加了 runtime.encoding=UTF-8
如果我将此代码放在独立项目中,它运行良好。
如果我在BB项目或web项目中添加,会产生吗?
我不知道我能做什么?