windows使用者在使用excel處理資料檔案時都不會關心檔案的編碼,因為excel支援windows上預設使用的簡體中文編碼gb2312。但是,使用mac的使用者就沒有那麼省心了,一不小心就會碰到中文亂碼的問題。
在mac上的excel中為什麼會出現中文亂碼的情況呢?這是就需要了解一些檔案編碼的背景知識。
檔案在計算內部採用的是二進位制(0和1)的形式存放,那麼給定乙個0和1組成的串,計算機怎麼知道這個串代表的是英文中的』a』還是中文裡面的』好』?這時就需要用到檔案的編碼,不同的編碼告訴了計算機怎麼去識別檔案的內容,例如gb2312編碼告訴計算機』001』代表的是中文裡面的』好』,而utf8編碼告訴計算機』001』代表的是英文裡面的』a』(這個例子只是為了簡述檔案編碼的作用,實際上的編碼比這個複雜得多)。
由於utf-8編碼同時支援中文、還是日文、韓文、阿拉伯文在類的各種語言,所以它在mac中被廣泛使用,而目前mac上的excel在匯入csv檔案時雖然給出了utf8的選項,但是匯入以後的中文還是亂碼,這是因為它實際上是不支援utf8編碼方式導致的,至少對於excel 2011 for mac是這樣。
那麼怎麼解決這個問題呢,方法很簡單:將檔案的編碼方式由utf8轉為excel支援的中文編碼方式,mac上的iconv工具專門就可以用來幹這個事情。例如,在excel給出的中文編碼方式中有gb18030,那麼我們可以通過mac上的iconv工具將檔案編碼由utf8轉為gb18030。只需要在命令列中鍵入如下的命令:
iconv -f utf8 -t gb18030 原始檔.csv >新檔案.csv
就可以將「原始檔.csv」檔案的編碼方式由utf8 變為gb18030並寫入到「新檔案.csv」檔案中,在excel中匯入「新檔案.csv」檔案中的內容,我們會發現煩人的中文亂碼消失的無影無蹤了!
忘了最重要的乙個問題,使用iconv的前提是我們知道檔案的編碼,那麼mac上怎麼知道檔案的編碼呢?其實很容易啦,首先用mac自帶的編輯器vim開啟檔案,然後使用命令
:setfileencoding
vim就會在螢幕的下方顯示檔案的編碼。 解決中文亂碼
一 web應用程式中編碼相關的部分 1.jsp編譯 指定檔案的儲存編碼,很明顯,該設定應該置於檔案的開頭,例如 2.jsp輸出 指定檔案輸出到browser時使用的編碼,該設定也應該置於檔案的開頭,例如 該設定與response.setcharacterencoding gbk 等效 3.meta設...
解決中文亂碼
1.更改tomcat平台中的字元編碼 servlet.xml中的 中的乙個屬性 2.通過string中的亂碼解決方式來處理 核心句 byte bs name.getbytes iso8859 1 還原出原來 的位元組編碼 name new string bs,utf 8 3.request.setc...
wine中文亂碼的解決
安裝wine時,因為缺少了中文字型,所以中文字型有時會顯示為方框。在這裡,我給出一種解決方案。regedit4 hkey local machine software microsoft windows nt currentversion fontlink systemlink lucida san...