![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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
ни тот и не другой...