轉(zhuǎn)載自:http://linyehui.me/2014/07/09/convert-gbk-to-utf8-on-mac.html
===========
問題原因
絕大部分的中文亂碼是因為文件編碼不對導(dǎo)致的:
- 使用了GBK的文件編碼方式在Xcode下是無法識別的
- 老版本的Xcode對帶BOOM頭的UTF8文件編碼也是無法識別的(我的Xcode 5.0.2已經(jīng)支持帶BOM頭的UTF8文件了)
出現(xiàn)上述情況一般都是因為跨平臺共用文件導(dǎo)致的,Windows,Mac共同使用的代碼文件會出現(xiàn)亂碼的問題。
最好的解決方案
Windows和Mac下統(tǒng)一使用UTF8帶BOM頭的文件編碼格式。
特別解釋下
以前是這樣的:
UTF8不帶BOM頭的文件,在xcode和eclipse下顯示正常,但Windows下會中文亂碼;
UTF8帶BOM頭的文件,Windows下顯示正常,但Xcode和eclipse下會中文亂碼;
現(xiàn)在是這樣的:
Xcode 5.0.2和ADT 22.3.0都已經(jīng)支持顯示帶BOM頭的UTF8格式。
Mac下遇到這種亂碼怎么解決
方法一:使用Sublime的解決辦法
Sublime Text 2下,使用Package Control 安裝 ConvertToUTF8 這個插件:
- 使用Sublime打開亂碼文件,正常是可以自動識別出來是GBK還是GB2312等編碼的
- 如果識別不出來,那么就手動選擇下菜單File-》Reload With Encoding,選擇GBK,應(yīng)該也能正確顯示中文了
- 正確顯示中文后,就可以把文件保存成UTF8格式了,但是直接Save是不行的,保存之前必須先做一件事情: > File -> Set File Encoding to -> UTF8
- 保存文件
方法二:Xcode的File inspector屬性窗口
- 在工程中打開亂碼的文件,選擇File inspector屬性窗口
- 選擇Text Encoding,比如我選擇“GB 2313”(不對的話可以換著試試看)
-
彈出提示,選擇“Reinterpret”,如果中文顯示正確,就下一步,否則就再換個編碼試試
Do you want to convert the text to ‘Simplified Chinese (GB 2312)’?
Choose ‘Convert’ if you want to change the contents of the file to be encoded as ‘Simplified Chinese (GB 2312)’.
Choose ‘Reinterpret’ if you believe the file has been opened with an incorrect encoding and you want to reopen it as ‘Simplified Chinese (GB 2312)’.
- 把成功顯示中文后的文件保存成UTF8格式:
再選擇下Text Encoing->UTF8,這次出現(xiàn)的提示選擇Convert
- 搞定