C# c中csv的法语字符#
我创建了一个C#soft,它将CSV作为参数,其中包含一个文件夹列表,如: 我用以下代码读取文件:C# c中csv的法语字符#,c#,csv,character-encoding,C#,Csv,Character Encoding,我创建了一个C#soft,它将CSV作为参数,其中包含一个文件夹列表,如: 我用以下代码读取文件: public projectTree(string _path) { path = _path; try { confFile = File.ReadAllText(path); } catch (Exception ex) {
public projectTree(string _path)
{
path = _path;
try
{
confFile = File.ReadAllText(path);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Fichier", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
lines = confFile.Split('\n');
foreach (string line in lines)
{
try
{
FolderInfo tmp = new FolderInfo();
if (line.IndexOf(';') >= 0)
{
if (line.Split(';')[1].Count() > 0)
tmp.name = line.Split(';')[1];
else
tmp.valid = false;
if (line.Split(';')[2].Count() > 0)
tmp.RACL_ReadOnly = line.Split(';')[2];
else
tmp.valid = false;
if (line.Split(';')[3].Count() > 0)
tmp.RACL_Users = line.Split(';')[3];
else
tmp.valid = false;
if (line.Split(';')[4].Count() > 0)
tmp.RACL_Managers = line.Split(';')[4];
else
tmp.valid = false;
if (line.Split(';')[5].Count() > 0)
tmp.RACL_Partners = line.Split(';')[5];
else
tmp.valid = false;
if (tmp.valid == true)
{
ACLs.Add(tmp);
}
}
}
catch
{
return;
}
}
}
此列表中的软创建文件夹,但在创建“02-Ôloolèèèèèè”文件夹时,该文件夹创建为:
如何处理此字符?读取文件时,请确保指定编码-尤其是读取非UTF-8编码文件时。如果您不确定文件的编码,可以在或任何其他能够处理各种编码的文本编辑器中打开它,然后简单地查找: 西欧语言的默认ANSI编码为Windows 1252,因此您需要将阅读行更改为:
confFile = File.ReadAllText(path, Encoding.GetEncoding(1252));
CSV的编码是什么?Windows 1252或UTF-8或UTF-16?您如何阅读CSV?密码。另请参见如何创建最小、完整且可验证的示例:应使用RichTextBox而不是Textbox。我没有使用Textbox作为文件夹名称。您使用的是iso-8859-1或UTF-8编码?我如何知道我使用的是哪种编码?