1

我正在使用 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项目中添加,会产生吗?

我不知道我能做什么?

4

0 回答 0