imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Компьютеры > Программирование
Опции темы
Старый 13.08.2005, 22:18     # 1
andrei solovjev
Newbie
 
Регистрация: 16.06.2005
Сообщения: 38

andrei solovjev Нуль без палочки
xml

Имеется огромный файл file.xml. Я не очень хорошо знаю эту технологию. Допустим при открытии файла есть строка
<name>на складе</name>
при открытии в блокноте, строка выглядит так, как показано выше. Потом я копирую файл средствами Delphi (открытие file.xml, занесение всех строк в массив, запись массива в file.txt). В новом файле строка выглядит как
<name>на складе</name>
Т.е. русский текст не отображается! Как это исправить???
andrei solovjev вне форума  
Старый 13.08.2005, 22:21     # 2
RaZEr
МОД-Оператор ЭВМ
 
Аватар для RaZEr
 
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343

RaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех Гуру
Нужно перекодировать из UTF-8 в Windows-1251
RaZEr вне форума  
Старый 13.08.2005, 23:26     # 3
andrei solovjev
Newbie
 
Регистрация: 16.06.2005
Сообщения: 38

andrei solovjev Нуль без палочки
RaZEr:
А как это сделать?
andrei solovjev вне форума  
Старый 13.08.2005, 23:39     # 4
RaZEr
МОД-Оператор ЭВМ
 
Аватар для RaZEr
 
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343

RaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех Гуру
В нотепаде "save as".
RaZEr вне форума  
Старый 14.08.2005, 10:12     # 5
andrei solovjev
Newbie
 
Регистрация: 16.06.2005
Сообщения: 38

andrei solovjev Нуль без палочки
Файл занимает более 40 Мб, нотепад просто зависает...
andrei solovjev вне форума  
Старый 14.08.2005, 15:56     # 6
RaZEr
МОД-Оператор ЭВМ
 
Аватар для RaZEr
 
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343

RaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех Гуру
Надо подождать. Или поставить другой редактор. Например ultraedit. Или даже консольную iconv.
RaZEr вне форума  
Старый 14.08.2005, 18:03     # 7
andrei solovjev
Newbie
 
Регистрация: 16.06.2005
Сообщения: 38

andrei solovjev Нуль без палочки
Благодарю, Bred 2 мне помог.
andrei solovjev вне форума  
Старый 15.08.2005, 10:41     # 8
PSyton
Junior Member
 
Аватар для PSyton
 
Регистрация: 19.04.2002
Адрес: Дом
Пол: Male
Сообщения: 187

PSyton Популярный человек на этом форумеPSyton Популярный человек на этом форумеPSyton Популярный человек на этом форумеPSyton Популярный человек на этом форумеPSyton Популярный человек на этом форумеPSyton Популярный человек на этом форумеPSyton Популярный человек на этом форумеPSyton Популярный человек на этом форуме
Програмисты блин, не в обиду будет сказано.
А средствами Delphi конвертировать не пробовал?
__________________
Дураки не динозавры - они не вымрут...
PSyton вне форума  
Старый 15.08.2005, 11:12     # 9
andrei solovjev
Newbie
 
Регистрация: 16.06.2005
Сообщения: 38

andrei solovjev Нуль без палочки
pvs, буду очень благодарен, если подскажешь как это сделать...
andrei solovjev вне форума  
Старый 15.08.2005, 18:32     # 10
PSyton
Junior Member
 
Аватар для PSyton
 
Регистрация: 19.04.2002
Адрес: Дом
Пол: Male
Сообщения: 187

PSyton Популярный человек на этом форумеPSyton Популярный человек на этом форумеPSyton Популярный человек на этом форумеPSyton Популярный человек на этом форумеPSyton Популярный человек на этом форумеPSyton Популярный человек на этом форумеPSyton Популярный человек на этом форумеPSyton Популярный человек на этом форуме
Я сам-то на C++ пишу и Delphi для меня это что-то далекое, далекое...
Потому как это средствами VCL не скажу. Но путей несколько на самом деле.

1. WideCharToMultiByte - из юникода в простой char
MultiByteToWideChar - Обратно в Unicode
Это функции WinAPI и их описание найти я думаю не сложно.

2. Можно просто поискать таблицу соотвествия Unicode, как я понял UTF8 кодировке windows-1251 и используюя эту таблицу написать собственную функцию перекодировки.

Примерно в таком ключе. Надеюсь поможет.
__________________
Дураки не динозавры - они не вымрут...
PSyton вне форума  
Старый 16.08.2005, 09:38     # 11
pusto
Newbie
 
Регистрация: 14.11.2002
Сообщения: 30

pusto Известность не заставит себя ждать
Я пользуюсь плагином к FAR'у - CPtoCP. Отлично конвертирует UTF-8 -> Win1251.
Правда, ограничения на объем файлов не знаю - конвертирую только небольшие файлы.
pusto вне форума  
Старый 24.08.2005, 21:31     # 12
UriF
Member
 
Регистрация: 20.05.2004
Сообщения: 385

UriF Луч света в тёмном царствеUriF Луч света в тёмном царствеUriF Луч света в тёмном царствеUriF Луч света в тёмном царствеUriF Луч света в тёмном царстве
Я читаю в VB6 методами (не знаю, как в русских терминах) file mapping/memory mapping kernel.dll API. Копирую, допустим, 100 Kb, читаю, затем следующие 100 Kb (pointer к 101-му, 201-му и т.д. килобайту, и, наконец, к хвосту). Если интересует, могу выложить или выслать

Уточнение: открывается не сам файл, а читается кусок скоприваннной памяти, как текстовая переменная

Последний раз редактировалось UriF; 24.08.2005 в 21:35.
UriF вне форума  
Старый 25.08.2005, 21:48     # 13
Bishop
Member
 
Аватар для Bishop
 
Регистрация: 18.08.2004
Пол: Male
Сообщения: 235

Bishop Имеются все основания чтобы гордиться собойBishop Имеются все основания чтобы гордиться собойBishop Имеются все основания чтобы гордиться собойBishop Имеются все основания чтобы гордиться собойBishop Имеются все основания чтобы гордиться собойBishop Имеются все основания чтобы гордиться собойBishop Имеются все основания чтобы гордиться собойBishop Имеются все основания чтобы гордиться собойBishop Имеются все основания чтобы гордиться собойBishop Имеются все основания чтобы гордиться собой
_http://www.megalib.com/books/923/1315.htm

Модуль uCodePageConverter для перекодировки и пример использования. Никаких таблиц преобразования, все средствами Windows.

Добавь в модуль строку (в объявлении констант) CODEPAGE_UTF_8: tagCODEPAGE = 65001;
Затем в программе
строка инициализации:
Conv.Initialize(CODEPAGE_UTF_8, CODEPAGE_Windows_31_Cyrillic, MLCONVCHARF_ENTITIZE);
а сама перекодировка:
Conv.DoConversion(Source, @SourceSize, Dest, @DestSize);
остальное как в примере.
Bishop вне форума  
Старый 30.08.2005, 19:19     # 14
YaHooka
Newbie
 
Регистрация: 10.08.2004
Сообщения: 27

YaHooka Нуль без палочки
Сколько писал фенечки с XML всегда MS XML Parser использовал - проблем с перекодировкой не было, и код потом приятно читать! Рекомендую.
YaHooka вне форума  
Старый 31.08.2005, 08:23     # 15
PSyton
Junior Member
 
Аватар для PSyton
 
Регистрация: 19.04.2002
Адрес: Дом
Пол: Male
Сообщения: 187

PSyton Популярный человек на этом форумеPSyton Популярный человек на этом форумеPSyton Популярный человек на этом форумеPSyton Популярный человек на этом форумеPSyton Популярный человек на этом форумеPSyton Популярный человек на этом форумеPSyton Популярный человек на этом форумеPSyton Популярный человек на этом форуме
YaHooka
Слишком уж он MS-зависимый посмотрел бы я на тебя с ним по Linux или MAcOS.

К тому же человек видимо уже разобрался, что к чему, раз не пишет больше.
__________________
Дураки не динозавры - они не вымрут...
PSyton вне форума  

Опции темы

Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 09:52.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.