Bug #111
closedОшибка конвертации документа
100%
Description
При попытке запустить конвертацию документа из командной строки на платформе Windows происходит ошибка:
D:\...\reqeditor-0.3.6-beta-091228\bin>reqdb convert TZ-TestDesigner.html TZ-TestDesigner.xhtml
2009-12-28 16:58:13,265 [INFO] main com.unitesk.reqdb.converter.writers.Converter - Instantiating converter with DEFAULT encoding...( UTF-8 )
javax.xml.stream.XMLStreamException: ParseError at [row,col]:[123,47]
Message: Invalid byte 2 of 2-byte UTF-8 sequence.
at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(XMLStreamReaderImpl.java:586)
at com.sun.xml.internal.stream.XMLEventReaderImpl.nextEvent(XMLEventReaderImpl.java:85)
at com.unitesk.reqdb.converter.format.Formatter.setXmlEventList(Formatter.java:103)
at com.unitesk.reqdb.converter.format.FormatterImpl.format(FormatterImpl.java:64)
at com.unitesk.reqdb.converter.writers.Converter.write(Converter.java:178)
at com.unitesk.reqdb.converter.writers.Converter.convertFile(Converter.java:96)
at com.unitesk.reqdb.converter.Console.convert(Console.java:66)
at com.unitesk.reqdb.converter.Console.main(Console.java:54)
at com.unitesk.reqdb.ReqDBCLI.main(ReqDBCLI.java:110)
Ошибка связана с неправильной кодировкой, установленной при чтении файла.
Файл в кодировке UTF-8, содержит символ "И", это последовательность байтов 208 152.
Судя по stack trace, это промежуточный файл, в который производится конвертация html -> xhtml.
Обойти ошибку можно, установив в reqdb.conf это свойство:
[vmparams]
-Xmx256m
-Dfile.encoding=UTF-8
Свойство file.encoding вообще-то не специфицировано, это деталь реализации Sun.
JVM определяет file encoding исходя из the locale and charset of the underlying operating system.
В eclipse-отладчике ситуацию можно воспроизвести, указав МЬ property: -Dfile.encoding=windows-1251
Судя по всему, проблема проявляется и при попытке импортирования документов в Eclipse. По крайней мере симптом тот же: результирующий файл имеет нулевой размер.
Files