我正在研究一個簡單的Windows服務,它讀取csv數據並將數據傳輸到ms-sql服務器。 Csv包含非Unicode字符(Ç窪İİÖöÜüĞğ)。 ODBC不會傳輸正確的內核。我嘗試複製數據沒有ODBC,與文本閱讀,編碼不正確。但是當我調試服務時,文本編碼是正確的。 CSV閱讀代碼:Windows服務非Unicode編碼問題
string[] csvLines = File.ReadAllLines(csvFile, Encoding.GetEncoding(new System.Globalization.CultureInfo("tr-TR").TextInfo.ANSICodePage));
服務作爲LocalSystem運行,我無法改變「系統區域設置」非Unicode程序,我必須使用系統區域設置爲美國(英文)
我也試過「CultureInfo.GetCulture(」tr-TR「)」但它不工作:(你有其他想法嗎? – Murat 2009-07-06 06:28:52
另一個想法:如果文件也可能使用UTF-8編碼,使用StreamReader.ReadLine,使用StreamReader構造函數版本,並將detectEncodingFromByteOrderMarks參數設置爲true。 – devstuff 2009-07-06 06:59:11