2011-11-03 66 views
0

我使用下面的代碼讀取一個CSV文件ASCI文件:格式化問題讀出具有特殊字符在它

TextReader tr = File.OpenText(path of the file); 

的這行代碼工作時,CSV文件不包含任何特殊字符。但是,當csv文件包含任何特殊字符時,上述代碼行無法正確讀取特殊字符。當具有特殊字符的文件值被讀取並顯示在數據網格中時,字符顯示爲正方形。

現在,當我將文件編碼轉換爲UTF-8時,它工作正常。

我改變像下面的代碼如下任何編碼來讀取文件:

StreamReader reader = new StreamReader(path of the file, System.Text.Encoding.UTF8, true); 

,但此行的代碼也無法正常工作。

有沒有人有任何想法來處理這個問題?

+0

你是什麼意思的特殊字符?你能提供一個CSV文件的例子嗎?另外請不要告訴我你是用string.Split手動解析一個CSV文件。 –

+0

特殊字符表示不是英文的字符,而是中文,日文等其他語言的字符。另外,我不是手動解析csv文件,而是從磁盤中的位置讀取文件。 – user1011258

回答

0
+0

我能夠解決這個問題的特殊字符使用下面的代碼行來讀取文件:StreamReader reader = new StreamReader(文件的路徑,Encoding.Default); – user1011258