1

我正在尝试将字符串保存到一个 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。

4

0 回答 0