今天從同事的ubuntu系統裏拷貝來一個C文件,在windows系統下用source insight看,發現中文註釋出現亂碼,我以爲是我的source insight的問題(不得不說source insight在編碼問題上有待提高),然後用txt和ultraedit打開後,註釋依然出現亂碼。尼瑪,代碼是別人寫的,沒有註釋看起來會是多麼吃力。
什麼原因呢,在網上看了下原因,都說要編碼格式的問題,我在windows下把文件轉成各種編碼格式,還是沒用。然後把文件放在我的ubuntu上,中文沒有亂碼,想想還是得在ubuntu上轉格式。
有二種工具可供我們使用,iconv和enca。二種都試了一下,但是都出錯了,enca上說是解析不了源文件的編碼格式,唉,只能另闢蹊徑。再去看看論壇上怎麼說的吧,然後就找到下面一個討論的,用iconv的參數-c,忽略掉。試了一下,還真行,轉出來的文件在windows下用source insight中文註釋沒有亂碼了。我的命令如下:
iconv -f -t GB2312 -c tradio.c > tradio1.c
不懂的參數在ubuntu下help看看。
另外,在我解決了編碼問題後,我的同事說用notepad++也可以,然後試試看看,在nodepad++上修改一下格式裏面的編碼方式中文註釋沒有亂碼了,比我上面的方法快多了。