Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TStringList или StringReplace меняет кодировку [D7, XP]


Вопрошающий ©   (2008-11-25 15:59:00) 

var
vr:TStringList;
...
 vr.LoadFromFile(Application.GetNamePath+'a.xml');
 vr.Text:=StringReplace(vr.Text,'LastWorkBegDate','яяяя',[]);
 vr.SaveToFile(Application.GetNamePath+'a.xml');


После выполнения этого кода в файле текст
работает в должности:
поменялся на
работает в должности:

Что делать?


Вопрошающий   (2008-11-26 12:17:00) [1]


> это на utf-8 смахивает.
> Utf8ToAnsi() в помощь

Точно... исходный файл был в utf-8.
После открытия преобразовал в ANSI, сделал StringReplace и преобразовал обратно в UTF-8
Все заработало.


Поросенок Винни-Пух   (2008-11-25 16:29:00) [2]

Я и имел в виду, что перед использованием в этом коде, надо пересохранить файл в другой кодировке.

лучше не носить воду вилами, а работать с xml его нативными методами


Andy BitOff (PPC)   (2008-11-25 16:26:00) [3]

Поросенок Винни-Пух © (25.11.08 16:15) [3]
Я и имел в виду, что перед использованием в этом коде, надо пересохранить файл в другой кодировке.


clickmaker   (2008-11-25 16:22:00) [4]

это на utf-8 смахивает.
Utf8ToAnsi() в помощь


Поросенок Винни-Пух   (2008-11-25 16:15:00) [5]

или сохранить a.xml в кодировке винды, а не в юникоде.

стринглист в нем и не умеет сохранять.
кракозябры у него в ие, а не в файле. и только потому что кодировка 1251 не указана в a.xml


Andy BitOff (PPC)   (2008-11-25 16:05:00) [6]

Перейти на более свежую дельфи или сохранить a.xml в кодировке винды, а не в юникоде.


Palladin   (2008-11-25 16:02:00) [7]


>  TStringList или StringReplace

ни тот и не другой...


Наверх

Титульная страница Поиск, карта сайта Написать письмо