Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 29.11.2013
Сообщений: 27

encode txt в xml

02.12.2013, 02:28. Показов 2049. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
привет, я генерирую xml с txt файлф и когда использую шифратор UTF-8, и беру текст на русском языке и генерирую его в xml, то в итоге получаю нечитабельные символы

XML
1
2
3
4
5
6
7
<?xml version="1.0" encoding="UTF-8"?><document>
<el Id="1">
    <text Id="1">Среди других проектов могут быть Ñ�озданы , Ñ�оздаютÑ�Ñ� проекты выравниваниÑ�,</text>
</el>
<el Id="2">
    <text Id="2">Отчеты по проектам и доÑ�тупны TM и терминологии управлÑ�ÑŽÑ‚Ñ�Ñ�. Создание</text>
</el>
вот указание шифратора

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public void initXML() throws ParserConfigurationException,TransformerConfigurationException, SAXException {
    // JAXP + SAX
    SAXTransformerFactory tf = (SAXTransformerFactory) SAXTransformerFactory.newInstance();
    th = tf.newTransformerHandler();
    Transformer serializer = th.getTransformer();
    serializer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
    // XML ausgabe
    serializer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4");
    serializer.setOutputProperty(OutputKeys.INDENT, "yes");
    th.setResult(out);
    th.startDocument();
    atts = new AttributesImpl();
    th.startElement("", "", "document", atts);
}
при "ISO-8859-1" тоже не работает, исходный текстовый файл в UTF-8. Подскажите какой encoder надо использовать? Спасибо
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.12.2013, 02:28
Ответы с готовыми решениями:

Чтение xml и запись в txt файл
Доброго день!Подскажите пожалуйста какой должен быть код для парсинга xml и записи нужных тегов в файл txt!Приведите пример так как в...

Чтение из файла(txt и xml)
Работаю в eclipce3.5. Подскажите где должен находится файл, из которого читается информация. У меня он находится в том же пакете, где и...

Как скопировать текст с файла 1.txt и записать в 2.txt
1)Скажите, как скопировать кусок текста с файла 1.txt и записать в 2.txt? 2)Как вместо этого, которое имеет на ограничение символов в...

16
 Аватар для Skipy
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
02.12.2013, 11:19
Эти "нечитабельные символы" в Вашем xml - это и есть UTF-8. Неожиданно, правда? Правда, этот UTF-8 прочитали как Windows-1251.
0
0 / 0 / 0
Регистрация: 29.11.2013
Сообщений: 27
02.12.2013, 13:32  [ТС]
Цитата Сообщение от Skipy Посмотреть сообщение
Эти "нечитабельные символы" в Вашем xml - это и есть UTF-8. Неожиданно, правда? Правда, этот UTF-8 прочитали как Windows-1251.
а как теперь сделать чтобы показывались эти символы в нормальном виде?
0
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
02.12.2013, 15:11
Цитата Сообщение от Velo Посмотреть сообщение
а как теперь сделать чтобы показывались эти символы в нормальном виде?
Нужно открыть файл в текстовом редакторе, который поддерживает utf-8.
0
0 / 0 / 0
Регистрация: 29.11.2013
Сообщений: 27
02.12.2013, 15:37  [ТС]
Цитата Сообщение от turbanoff Посмотреть сообщение
Нужно открыть файл в текстовом редакторе, который поддерживает utf-8.
при открытии с notepad i notepad++, ничего не меняется, те же символы
0
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
02.12.2013, 15:55
Velo, Можете выложить файл как есть?
0
0 / 0 / 0
Регистрация: 29.11.2013
Сообщений: 27
02.12.2013, 16:03  [ТС]
Цитата Сообщение от turbanoff Посмотреть сообщение
Velo, Можете выложить файл как есть?
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?xml version="1.0" encoding="UTF-8"?><document>
    <el Id="1">
        <text Id="1">Среди других проектов могут быть Ñ�озданы , Ñ�оздаютÑ�Ñ� проекты выравниваниÑ�,</text>
    </el>
    <el Id="2">
        <text Id="2">Отчеты по проектам и доÑ�тупны TM и терминологии управлÑ�ÑŽÑ‚Ñ�Ñ�. Создание</text>
    </el>
    <el Id="3">
        <text Id="3">Ð�овый проект , произошедших в проекте маÑ�тера . ПоÑ�ле приÑ�воениÑ� имени проекта</text>
    </el>
    <el Id="4">
        <text Id="4">длÑ� перевода файлов по отдельноÑ�ти или в целом выбранной папке . Ñ�ледующий</text>
    </el>
    <el Id="5">
        <text Id="5">Ð*тапе будет выполнена иÑ�ходного и целевого Ñ�зыков. СущеÑ�твует также функцию автоматичеÑ�ки определÑ�ет Ñ�зык оригинала . С окончанием проекта</text>
    </el>
    <el Id="6">
        <text Id="6">автоматичеÑ�кий импорт . ПоÑ�ле того, как файл TMX в crossTank , база данных длÑ� управлениÑ�</text>
    </el>
    <el Id="7">
        <text Id="7">Перевод воÑ�поминаний, был импортирован , он вызываетÑ�Ñ� автоматичеÑ�ки припереводе.</text>
    </el>
    <el Id="8">
        <text Id="8">ДлÑ� перевода, точка должна быть вызвана Мои задачи . ЕÑ�ть вÑ�е Ñ�лишком</text>
    </el>
    <el Id="9">
        <text Id="9">отображаетÑ�Ñ� переводимый файлов и может быть открыта двойным щелчком . поÑ�ле</text>
    </el>
    <el Id="10">
        <text Id="10">Перевод задачи в комплекте Ñ�автоматичеÑ�кой Ñ�кÑ�пертизы текÑ�та Ñ�делано, прежде чем файл будет Ñ�охранен в качеÑ�тве Ñ�правочного материала . ЕÑ�ли вÑ�е файлы проекта переводитÑ�Ñ�, они Ñ�кÑ�портируютÑ�Ñ� через Проекты Проект от региÑ�трации в оригинальном формате . в</text>
    </el>
    <el Id="11">
        <text Id="11">Через множеÑ�тво популÑ�рных текÑ�товых форматов могут быть импортированы. Импорт ОфиÑ�ных файлов не Ñ�влÑ�етÑ�Ñ� проблемой . При импорте из формата PDF , в первую очередь в текÑ�товый формат длÑ� преобразованиÑ�.</text>
    </el>
</document>
он сохранён как xml, здесь не загр., только если так выложить
0
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
02.12.2013, 16:12
Нужен именно файл. На форуме можно к сообщениями прикладывать вложения.
0
0 / 0 / 0
Регистрация: 29.11.2013
Сообщений: 27
02.12.2013, 16:22  [ТС]
Цитата Сообщение от turbanoff Посмотреть сообщение
Нужен именно файл. На форуме можно к сообщениями прикладывать вложения.
в zip загружено
Вложения
Тип файла: zip 8.zip (1.3 Кб, 3 просмотров)
0
 Аватар для Skipy
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
02.12.2013, 17:22
Вопрос на засыпку. В каком виде исходный текст и как Вы его читаете? Подозреваю, что исходный - UTF-8, а Вы его читаете как 1251.
0
0 / 0 / 0
Регистрация: 29.11.2013
Сообщений: 27
02.12.2013, 17:27  [ТС]
Цитата Сообщение от Skipy Посмотреть сообщение
Вопрос на засыпку. В каком виде исходный текст и как Вы его читаете? Подозреваю, что исходный - UTF-8, а Вы его читаете как 1251.
да исходный UTF-8
0
 Аватар для Skipy
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
02.12.2013, 17:30
Как Вы его читаете? Где код?
0
0 / 0 / 0
Регистрация: 29.11.2013
Сообщений: 27
02.12.2013, 17:34  [ТС]
Цитата Сообщение от Skipy Посмотреть сообщение
Как Вы его читаете? Где код?
вот так

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
public void initXML() throws ParserConfigurationException,SAXException, UnsupportedEncodingException, FileNotFoundException, TransformerException {
        // JAXP + SAX
        SAXTransformerFactory tf = (SAXTransformerFactory) SAXTransformerFactory.newInstance();
        th = tf.newTransformerHandler();
        Transformer serializer = th.getTransformer();
        serializer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
        // XML ausgabe
        serializer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4");
        serializer.setOutputProperty(OutputKeys.INDENT, "yes");
        th.setResult(out);
        th.startDocument();
        atts = new AttributesImpl();
        th.startElement("", "", "document", atts);      
         
        
    }
 
    public void process(String s) throws SAXException {
      try {
            String[] elements = s.split("\\|");
            atts.clear();
            i++;
            atts.addAttribute("", "", "Id", "", "" + i);
            th.startElement("", "", "el", atts);
            th.startElement("", "", "text", atts);
            th.characters(elements[0].toCharArray(), 0, elements[0].length());
            th.endElement("", "", "text");
            th.endElement("", "", "el");
         }
0
 Аватар для Skipy
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
02.12.2013, 19:31
КАК ВЫ ЧИТАЕТЕ ТЕКСТ, ИЗ КОТОРОГО СОСТАВЛЯЕТЕ XML???
0
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
02.12.2013, 21:34
Откуда приходит строка s в public void process(String s) ?
0
0 / 0 / 0
Регистрация: 29.11.2013
Сообщений: 27
03.12.2013, 01:02  [ТС]
т.е при нажатии на кнопку на UI выбирается исходный файл и задаётся файл куда сохранить надо. В этом случае русские тексты не распознаются.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
public Element1() {
        // fileChooser konfigurieren
        JFileChooser fileChooser = new JFileChooser();
        fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
        fileChooser.setDialogTitle("Textdatei auswählen");
        int ret = fileChooser.showDialog(this, "auswählen");
        if (ret == JFileChooser.APPROVE_OPTION) {
          file = fileChooser.getSelectedFile().getAbsoluteFile();
         
        }
 
        fileChooser.setDialogTitle("XML Speicherung");
        fileChooser.removeChoosableFileFilter(fileChooser.getFileFilter()); // default file  filter  löschen
        FileNameExtensionFilter filter = new FileNameExtensionFilter("XML file", "xml");
        fileChooser.addChoosableFileFilter(filter); // XML file filter hinzufügen
        // dialog anzeigen
        int returnVal = fileChooser.showSaveDialog(contentPane);
        if (returnVal == JFileChooser.APPROVE_OPTION) {
            selectedDir = fileChooser.getSelectedFile();
             fname = selectedDir.getAbsolutePath();
             if (!fname.endsWith(".xml")) {selectedDir = new File(fname + ".xml");
            }
        }
    }
    public void doit() {
        try {
            in = new BufferedReader(new FileReader(file));
            out = new StreamResult(selectedDir);
            initXML();
            String str;
            while ((str = in.readLine()) != null) {process(str);}
            in.close();
            closeXML();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
А если же использовать уже заданные файлы, указав самому пути к ним(убрав jfilechooser), то уже нормально работает и читает русский текст.

Добавлено через 41 минуту
уже работает, спс большое за советы и уделённое всеми время для ответов.
0
 Аватар для Skipy
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
03.12.2013, 11:03
Работает? Ну-ну. Этот код содержит ошибку, приводящую ровно к тому эффекту, который и виден. Если повезет и исходный файл в Cp1251 - эффект не проявляется.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.12.2013, 11:03
Помогаю со студенческими работами здесь

Txt, xml
.txt - FileInfo fi = new FileInfo(&quot;AddedDatas.txt&quot;); .xml - ???????

Сериализация xml в txt
Добрый день, форумчане. У меня есть xml документ с множеством тегов. Мне нужно отправить его на печать. Как я понимаю, сперва нужно его...

Преобразование txt в xml
Как можно средствами C# txt файл с таким содержанием a -- неопределенный артикль abandon -- отказываться, покидать, прекращать ...

чтение xml как txt
Доброго времени суток подскажите как прочитать файл xml как обычный txt файл

Создание XML на основе txt
Доброго времени суток! Господа, за ранее приношу извенения, так как я не в теме WSH, но по работе приходиться разбираться. И так, у...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru