Метод чтения:
[DllImport("kernel32", CharSet = CharSet.Unicode)]
static extern int GetPrivateProfileStringW(string Section, string Key, string Default, StringBuilder RetVal, int Size, string FilePath);
public string ReadINI(string Section, string Key)
{
var RetVal = new StringBuilder(255);
GetPrivateProfileStringW(Section, Key, "", RetVal, 255, Path);
return RetVal.ToString();
}
Читаю так:
String str = INI.ReadINI("Settings", "Lan");
И все равно в итоге получается переменная str в формате cp1251. Я могу, конечно, переделать в UTF-8 её из cp1251, но как делать с китайскими?