Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Кодировка при запонении документа через RTF Templa


Автор: Kostafey 3.9.2010, 15:20
Заполняю документ через RTF Template (http://rtftemplate.sourceforge.net/)

Немного модифицированный канонический пример:
Код
        
String rtfSource = "C:/Temp/test.rtf";
String rtfTarget = "C:/Temp/test1.rtf"

        try {
            // 1. Get default RTFtemplateBuilder
            RTFTemplateBuilder builder = RTFTemplateBuilder.newRTFTemplateBuilder();

            // 2. Get RTFtemplate with default Implementation of template engine (Velocity)
            RTFTemplate rtfTemplate = builder.newRTFTemplate();

            // 3. Set the RTF model source
            rtfTemplate.setTemplate(new File(rtfSource));

            // 4. Put the context
            rtfTemplate.put("header_developer_name", "Россия");

            // 5. Merge the RTF source model and the context
            rtfTemplate.merge(rtfTarget );
        } catch (Exception e) {
        }


На месте Россия - Р РѕСЃСЃРёСЏ

[code=java]rtfTemplate.put("header_developer_name", "Россия".getBytes("Cp1251"));[/quote]

На месте Россия - [B@11ef443

Подскажите как исправить.

Автор: dobrolub 4.9.2010, 02:05
Не спец по пакету, но раз спецы молчат:

1. Сохрани свои java исходники в UTF-8 
2. Добавь параметр к javac : -encoding UTF-8
3.  
Код

rtfTemplate.put("header_developer_name", "Россия");


Автор: Kostafey 7.9.2010, 14:56
Цитата(dobrolub @  4.9.2010,  02:05 Найти цитируемый пост)
2. Добавь параметр к javac : -encoding UTF-8


Это не помогло. Но все равно спасибо.
А вот это помогло:
http://lechlukasz.wordpress.com/2010/02/03/rtftemplate-and-character-encoding/

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)