我有一个csv文件的文件夹,我想要导入到SQL Server。这与BULK INSERT正常工作。设置Unicode文件夹中的所有文件的Unicode编码#
但是,我有一个编码问题,在数据库中获得奇怪的宪章 - 如果我打开记事本中的CSV文件,并再次保存为Unicode,它的作品完美。
是他们在C#中的一种方式,以编程方式将文件夹中的所有文件转换为unicode?
感谢
我有一个csv文件的文件夹,我想要导入到SQL Server。这与BULK INSERT正常工作。设置Unicode文件夹中的所有文件的Unicode编码#
但是,我有一个编码问题,在数据库中获得奇怪的宪章 - 如果我打开记事本中的CSV文件,并再次保存为Unicode,它的作品完美。
是他们在C#中的一种方式,以编程方式将文件夹中的所有文件转换为unicode?
感谢
所有文件:
string text = File.ReadAllText("data.txt", Encoding.ASCII);
File.WriteAllText("data.txt", text, Encoding.Unicode);
你这个人:)感谢作品像一个魅力 – user2199192
为了扩大对@ Sandre的回答,您可以批量像这样的这种操作:
var di = new DirectoryInfo(@"path\to\csvFolder");
var csvFiles = di.EnumerateFiles("*.csv", SearchOption.TopDirectoryOnly);
var outputFolderDi = new DirectoryInfo(Path.Combine(di.FullName, "outputFolder"));
outputFolderDi.Create();
foreach(var filePath in csvFiles.Select(fi => fi.FullName))
{
var text = File.ReadAllText(filePath);
var fileName = Path.GetFileName(filePath);
var newFilePath = Path.Combine(outputFolderDi.FullName, fileName);
File.WriteAllText(newFilePath, text, Encoding.Unicode);
}
我不作任何保证这个代码是正确。请在部署到您的文件系统之前仔细检查!
或者只是[设置正确的代码页](https://msdn.microsoft.com/en-us/library/ms188365.aspx)。 – CodeCaster
它的UTF8 - 不认为BULK INSERT支持 – user2199192