EXCEL打开CSV文件乱码的解决方法
生活随笔
收集整理的這篇文章主要介紹了
EXCEL打开CSV文件乱码的解决方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
用C#程序通過StreamWriter導出字符串,導出生成txt文本文件,用記事本打開正常,改成csv格式,用excel打開亂碼,且不能正確識別分列。 后用記事本打開,把編碼從utf-8改成ansi之后,就可以正確識別分列和沒亂碼了。 【故障現象描述】 從網頁上導出數據文件存儲為CSV格式的文件,使用記事本打開文字顯示沒有問題,使用EXCEL打開出現亂碼的情況。 【故障原因分析】 此種情況一般是導出的文件編碼的問題。在簡體中文環境下,EXCEL打開的CSV文件默認是ANSI編碼,如果CSV文件的編碼方式為utf-8、Unicode等編碼可能就會出現文件亂碼的情況。 【解決方法】 (1)設置office語言環境(以office 2003為例): 開始菜單-Microsoft office- Microsoft office工具- Microsoft office 2003語言設置,將Microsoft office應用程序默認方式的語言設為“中文(簡體)”,這也是office 2003的默認設置。 (2)使用記事本打開CSV文件,文件-另存為,編碼方式選擇ANSI: (3)保存完畢后,用EXCEL打開這個文件就不會出現亂碼的情況: 【編碼方式講解】 (1)ANSI編碼 不同的國家和地區制定了不同的標準,由此產生了 GB2312, BIG5, JIS 等各自的編碼標準。這些使用 2 個字節來代表一個字符的各種漢字延伸編碼方式,稱為 ANSI 編碼。在簡體中文系統下,ANSI 編碼代表 GB2312 編碼,在日文操作系統下,ANSI 編碼代表 JIS 編碼。 不同 ANSI 編碼之間互不兼容,當信息在國際間交流時,無法將屬于兩種語言的文字,存儲在同一段 ANSI 編碼的文本中。 當然對于ANSI編碼而言,0x00~0x7F之間的字符,依舊是1個字節代表1個字符。這一點是ASNI編碼與Unicode編碼之間最大也最明顯的區別。例如上面演示的文件中英文字母和數字并沒有出現亂碼的情況。 (2)Unicode編碼 Unicode(統一碼、萬國碼、單一碼)是一種在計算機上使用的字符編碼。它為每種語言中的每個字符設定了統一并且唯一的二進制編碼,以滿足跨語言、跨平臺進行文本轉換、處理的要求。1990年開始研發,1994年正式公布。隨著計算機工作能力的增強,Unicode也在面世以來的十多年里得到普及。 Unicode是國際組織制定的可以容納世界上所有文字和符號的字符編碼方案。Unicode用數字0-0x10FFFF來映射這些字符,最多可以容納1114112個字符,或者說有1114112個碼位。碼位就是可以分配給字符的數字。UTF-8、UTF-16、UTF-32都是將數字轉換到程序數據的編碼方案。 (3)UTF-8編碼 UTF-8是UNICODE的一種變長字符編碼又稱萬國碼,由Ken Thompson于1992年創建。現在已經標準化為RFC 3629。UTF-8用1到6個字節編碼UNICODE字符。用在網頁上可以同一頁面顯示中文簡體繁體及其它語言(如日文,韓文)。
總結
以上是生活随笔為你收集整理的EXCEL打开CSV文件乱码的解决方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: .net通过获取客户端IP地址反查出用户
- 下一篇: 孙兴慜已飞抵阿联酋 能否出战国足将视情况