jason
Мимокрокодил
Здравствуйте.
Имеется файл File.xml в кодировке UTF-8:
http://www44.zippyshare.com/v/vc3aoAmN/file.html
Необходимо чтобы при установке в нем был прописан путь до документов пользователя {userdocs}
Но после изменения и сохранения файла он записывается в неправильной кодировке (ansi или cp1251):
http://www76.zippyshare.com/v/SK9o52AR/file.html
А должно быть так:
http://www26.zippyshare.com/v/CkhXcdE7/file.html
Вопрос:
Как можно сохранить файл в кодировке UTF-8 средствами Inno Setup?
В Notepad++ это делается вручную:
Кодировки -> Кодировка Ansi
Кодировки -> Преобразовать в UTF-8
Код программы:
Буду признателен за помощь!
Имеется файл File.xml в кодировке UTF-8:
http://www44.zippyshare.com/v/vc3aoAmN/file.html
Необходимо чтобы при установке в нем был прописан путь до документов пользователя {userdocs}
Но после изменения и сохранения файла он записывается в неправильной кодировке (ansi или cp1251):
http://www76.zippyshare.com/v/SK9o52AR/file.html
А должно быть так:
http://www26.zippyshare.com/v/CkhXcdE7/file.html
Вопрос:
Как можно сохранить файл в кодировке UTF-8 средствами Inno Setup?
В Notepad++ это делается вручную:
Кодировки -> Кодировка Ansi
Кодировки -> Преобразовать в UTF-8
Код программы:
Код:
[Setup]
AppName=My Program
AppVerName=My Program v.1.2
DefaultDirName={pf}\My Program
[Files]
Source: "File.xml"; DestDir: "{app}\Files"; Flags: ignoreversion;
[Code]
procedure CurStepChanged(CurStep: TSetupStep);
var
UnicodeStr: string;
ANSIStr: AnsiString;
begin
if (CurStep = ssPostInstall) then
begin
LoadStringFromFile(ExpandConstant('{app}\Files\File.xml'), ANSIStr)
UnicodeStr := String(ANSIStr);
StringChangeEx(UnicodeStr, 'UserDocsPath', ExpandConstant('{userdocs}'), False)
SaveStringToFile(ExpandConstant('{app}\Files\File.xml'), AnsiString(UnicodeStr), False);
end;
end;
- Утилиту win-iconv http://www.cyberforum.ru/post4854353.html
Результат (iconv -f windows-1251 -t utf8 file.xml > file1.xml) :
http://www114.zippyshare.com/v/7RWqkHJx/file.html
- Функцию AnsiToUtf8 из скрипта для Freearc http://forum.ru-board.com/topic.cgi?forum=5&topic=30413&start=1646&limit=1&m=1
Результат SaveStringToFile(ExpandConstant('{app}\Files\File.xml'), AnsiToUtf8(AnsiString(UnicodeStr)), False) :
http://www34.zippyshare.com/v/0xVh7l0G/file.html
Результат (iconv -f windows-1251 -t utf8 file.xml > file1.xml) :
http://www114.zippyshare.com/v/7RWqkHJx/file.html
- Функцию AnsiToUtf8 из скрипта для Freearc http://forum.ru-board.com/topic.cgi?forum=5&topic=30413&start=1646&limit=1&m=1
Результат SaveStringToFile(ExpandConstant('{app}\Files\File.xml'), AnsiToUtf8(AnsiString(UnicodeStr)), False) :
http://www34.zippyshare.com/v/0xVh7l0G/file.html
Буду признателен за помощь!
Последнее редактирование: