我正在尝试将字符串保存到一个 UTF-8 格式的 ini 文件中。我想编辑其中一个字符串值,但我不能。
有人可以提供一个例子来帮助吗?
Source: test.ini; DestDir: {app};
[INI]
Filename: {app}\test.ini; Section: testclient; Key: PlayerName; String: "{code:GetUserName}";
procedure InitializeWizard();
var
NameEdit: TNewEdit;
function GetUserName(Param: String): string;
begin
result := NameEdit.Text;
end;
procedure InitializeWizard0();
begin
PlayerSettingsPage := CreateCustomPage(wpSelectComponents, 'Test', '');
NameEdit := TNewEdit.Create(WizardForm);
NameEdit.Parent := PlayerSettingsPage.Surface;
NameEdit.Left := 25;
NameEdit.Top := NameLabel.Top + 43;
NameEdit.Width := 130;
NameEdit.Text :='Enter your Pla';
end;
必须将 ini 保存为 UTF-8,因为我使用的软件只接受 UTF-8 格式的 ini 文件。
如果要编辑的ini是ansi格式,将无法正确保存unicode字体,只会显示:?????,如果ini是unicode [UTF-16LE],则ini显示unicode字符正确,但是当游戏加载时它不会显示它们。
然后,如果要编辑的ini是UTF-8格式,则inno设置不会正确地将文本保存在其中。然后我在互联网上看到,inno setup 有一个特殊的代码可以做到这一点,但我不知道如何很好地使用它。
SaveStringsToUTF8File
我正在使用 Inno Setup Unicode。