C# WritePrivateProfileString() 值不是英语
C# WritePrivateProfileString() value other than English language
我试图在 ini 文件中保存一个文件路径,其中包含一个阿拉伯语文件夹。即
D:\ملف جديد\Checking Folder
但是用WritePrivateProfileString()
写在settings.ini之后。显示路径如下:
D:\??? ????\Checking Folder
如何正确保存路径?
编辑:
以下是我用来编写ini文件的代码
[DllImport("kernel32")]
private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);
您必须使用 System.Text.Encoding.GetEncoding("Arabic")
才能在路径中使用阿拉伯语文本
例如,如果你想在文件中读写比
using (var reader = new System.IO.StreamReader("YourFilePath", System.Text.Encoding.GetEncoding("Arabic")))
{
}
using (var writer = new System.IO.StreamWriter("YourFilePath", true, System.Text.Encoding.GetEncoding("Arabic")))
{
}
您可以尝试 my INI library,我创建它是为了让那些 WritePrivateProfile API 更友好(更有意义/直观)API。
以下是如何使用它的示例:
// Your inputs.
string section, key, val, filePath;
var iniOptions = new IniOptions();
iniOptions.Encoding = Encoding.UTF8;
var ini = new IniFile(iniOptions);
ini.Load(filePath);
IniSection iniSection = ini.Sections[section];
IniKey iniKey = iniSection.Keys[key];
iniKey.Value = val;
ini.Save(filePath);
希望对您有所帮助。
我试图在 ini 文件中保存一个文件路径,其中包含一个阿拉伯语文件夹。即
D:\ملف جديد\Checking Folder
但是用WritePrivateProfileString()
写在settings.ini之后。显示路径如下:
D:\??? ????\Checking Folder
如何正确保存路径?
编辑:
以下是我用来编写ini文件的代码
[DllImport("kernel32")]
private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);
您必须使用 System.Text.Encoding.GetEncoding("Arabic")
才能在路径中使用阿拉伯语文本
例如,如果你想在文件中读写比
using (var reader = new System.IO.StreamReader("YourFilePath", System.Text.Encoding.GetEncoding("Arabic")))
{
}
using (var writer = new System.IO.StreamWriter("YourFilePath", true, System.Text.Encoding.GetEncoding("Arabic")))
{
}
您可以尝试 my INI library,我创建它是为了让那些 WritePrivateProfile API 更友好(更有意义/直观)API。
以下是如何使用它的示例:
// Your inputs.
string section, key, val, filePath;
var iniOptions = new IniOptions();
iniOptions.Encoding = Encoding.UTF8;
var ini = new IniFile(iniOptions);
ini.Load(filePath);
IniSection iniSection = ini.Sections[section];
IniKey iniKey = iniSection.Keys[key];
iniKey.Value = val;
ini.Save(filePath);
希望对您有所帮助。