Справочник по C#

    Исходники по языку программирования CSharp

    moyadcode15

    Ошибка SAX – MalformedByteSequenceException: недопустимый байт 1 из 1-байтовой последовательности UTF-8.

    /
    /
    /
    41 Views
    moyadcode8
    moyadcode14

    проблема

    Когда некоторые специальные символы UTF-8 внутри XML-файла и ваш SAX-анализатор не настроены для правильного анализа UTF-8, выдается следующее исключение.

    
    com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException:
    Invalid byte 1 of 1-byte UTF-8 sequence.
    ...
    

    Решение

    Решение довольно простое: получить содержимое в формате UTF-8 и переопределить источник входного сигнала SAX.

    
    File file = new File("c:\file-utf.xml");
    InputStream inputStream= new FileInputStream(file);
    Reader reader = new InputStreamReader(inputStream,"UTF-8");
    
    InputSource is = new InputSource(reader);
    is.setEncoding("UTF-8");
    
    saxParser.parse(is, handler);
    

    Вы можете прочитать полный пример здесь – как читать XML-файл UTF-8 с помощью SAX-парсера

    moyadcode14

    Javaсаксофон

    Ошибка SAX – MalformedByteSequenceException: недопустимый байт 1 из 1-байтовой последовательности UTF-8.

    0.00 (0%) 0 votes

    moyadcode13
    • Facebook
    • Twitter
    • Google+
    • Linkedin
    • Pinterest
    moyadcode10
    moyadcode11
    moyadcode9