Русские кодировки в Xerces/XalanQ. Я пытаюсь заставить Xalan 2.1.0 (запускается из командной строки) понимать русские буквы, но он ничего кроме UTF-8 и ISO-8859-5 понимать отказывается. Конечно же можно все преобразовать в UTF-8, но хотелось бы все же обрабатывать документы в Cp1251. Кто-нибудь смог его заставить понимать Cp1251? Во-первых, читать соответсвующий раздел в "Java: Русские буквы и не только...". A [Sergey Kluchkowsky]. Суть проблемы: даже после ковыряния в исходниках xerces’а xalan ругался на кодировку. Всё пофиксилось после прочтения соответствующей приписки. Лежит эта приписка в исходниках xalan: [ xalan-j\src\org\apache\xalan\xpath\dtm\package.html ] вкратце, мысль следующая: чтобы xalan использовал пропатченный xerces, нужно при создании XSLTProcessor’а использовать синтаксис: org.apache.xalan.xslt.XSLTProcessor xsltProc = org.apache.xalan.xslt.XSLTProcessorFactory.getProcessor( new org.apache.xalan.xpath.xdom.XercesLiaison()); вместо дефолтного .getProcessor() без параметров. другой вариант исправления был найден, когда я заставил ant’а собирать xalan-j: в файле [ org\apache\xalan\xpath\xml\FormatterToXML.java ] после строки: s_revsize.put("KOI8-R", new Character('\uFFFF'));
добавляются: s_revsize.put("CP1251", new Character('\uFFFF'));
s_revsize.put("CP866", new Character('\uFFFF'));
После чего можно использовать .getProcessor() и не заморачиваться. |
| Нас поддерживают:
Вся информация о LG 42LK551. Всё для LG. . Профилегибочный станок, производство - компания Бора . чепчик для купания © Vasil I. Yaroshevich, 2001-2005 Driven by DokuWiki © 2004-2005 Andreas Gohr |