我正在尝试将 schema.ini 文件(由 csv 导出创建)转换为 c# 中的类型化数据表。我无法从文件中获取表名。schema.ini 如下所示:
[MyTableÄ.csv]
ColNameHeader=True
CharacterSet=1201
Format=CSVDelimited
CurrencyThousandSymbol=,
DecimalSymbol=.
Col1="Id" Integer
Col2="Subscriber Equipment" Char ...
但是,当我使用以下代码段读取我得到的部分名称MyTableÄ.csv
而不是MyTableÄ.csv
.
public string[] SectionNames()
{
uint MAX_BUFFER = 32767;
IntPtr pReturnedString = Marshal.AllocCoTaskMem((int)MAX_BUFFER);
uint bytesReturned = GetPrivateProfileSectionNames(pReturnedString, MAX_BUFFER, path);
if (bytesReturned == 0)
{
Marshal.FreeCoTaskMem(pReturnedString);
return null;
}
string local = Marshal.PtrToStringAnsi(pReturnedString, (int) bytesReturned);
Marshal.FreeCoTaskMem(pReturnedString);
//use of Substring below removes terminating null for split
return local.Substring(0, local.Length - 1).Split('\0');
}
我已经尝试了字符集:20127, ANSI, 65001, Unicode, and 1201
无济于事。想法?解决方法?