我有一個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