1

私のXML応答は

<name> DPD futár </name>

私の XML 解析コード

        SAXParserFactory _saxFactory = SAXParserFactory.newInstance();
        SAXParser _saxParser = _saxFactory.newSAXParser();
        XMLReader _xmlReader = _saxParser.getXMLReader();
        _shippingMethodList = new ArrayList<ShippingMethodItem>();
        ShippingMethodParser _cartLoginParser = new ShippingMethodParser(
                _shippingMethodList);
        _xmlReader.setContentHandler(_cartLoginParser);
        InputSource is = new InputSource();
        is.setEncoding("ISO-8859-1");
        is.setCharacterStream(new StringReader(response));
        _xmlReader.parse(is);

しかし、名前変数の文字列として次のようになりました。

DPD フタール

私も試してみます

is.setEncoding("UTF-8");

しかし、成功しません。誰でもこれに関して私を助けてもらえますか?

4

2 に答える 2

1

これを試してみてください

InputSource in = new InputSource(new InputStreamReader(url.openStream(),"ISO-8859-1"));
于 2013-02-27T13:14:14.530 に答える
0

ISO-8859-1 (latin 1) エンコーディングはハンガリーのデータには使用しないでőください。この文字áは、たとえばポルトガル語とスペイン語のアルファベットの一部でもあり、両方とも latin 1 でサポートされていますが、ハンガリー語の場合は latin 2 (ISO-8859-2) のみが機能します。ただし、可能な場合は常に Unicode エンコーディングを使用する必要があります。

まず、文字列をユニコードにエンコードするときにエラーが発生する可能性があるため、受信したデータが適切にエンコードされているかどうかを確認します。あなたが提供する例は、典型的なエンコード エラーです。UTF-8 を UTF-8 にエンコードしようとしているのかもしれませんが、これは間違っています。

于 2013-02-27T12:47:51.793 に答える