0.引言
本人從進公司以來一直負責公司Android平台下產品的NDK開發,用的工具:
01. Google的adt-bundle(集成了eclipse和sdk)
02. NDK
03. Cygwin
(PS: 雖然比較新的ndk版本,好像是從 r7開始就已經可以不用Cygwin了,
但是本人從剛開始接觸Android NDK開發時就用的是Cygwin,在Window操作系統下足夠用了,
作為懶人,既不想折騰到Linux下,又對命令行的操作比較留戀,所以就這么一直用着。高手請勿見怪。)
1. 窮
今天在做一個小測試的程序的時候,使用 javah 命令,想看一下有關 javah 的詳細幫助說明,突然發現那些中文說明都亂碼了。
話說當初剛裝 Cygwin 不久,在看代碼里面注釋的時候發現中文顯示亂碼,
當時隨便修改了 options 選項里面 Text 的 locale character set ,看能正常顯示了就沒再繼續折騰了。
想不到今天查看幫助文檔顯示的時候竟然又發現了亂碼,只好網上各種查找資料,親自實踐,不斷嘗試。。。
這次本人決定整理一份終極解決方案,一次性解決,永絕后患。
網上絕大部分都是相互轉載,內容翻來覆去雷同相似度很高,卻最終也也沒有一個完全解決各種情況的中文亂碼方案。
有的是文件注釋里面中文正常顯示了,但是很多英文倒變成了亂碼。(如命令“ls -l”中的total、man查看幫助的部分英文)
有的比較好的解決方案實現了命令幫助里面中文正常顯示,但是有些地方(比如 ls -la 顯示的文件日期)卻變成了英文。
2. 變
現在分享本人的完美終極解決方案:
2.1 界面設置
非文本編輯狀態下,在界面上右鍵,選擇 options 選項里面 Text 的設置,
Local 一欄選擇 C (或者選 Default 的話系統也會自動默認為 C), Character set 一欄選擇 GBK。如圖所示:
2.2 代碼配置
1. 先 “ cd ~ ” 進入用戶目錄, 打開目錄下 .bash_profile 文件,在末尾添加如下幾行代碼:
2. 在當前目錄下,打開 .inputrc 文件,找到有關 bash 命令對8 字節字符處理的代碼,去掉這句 set 前面的注釋符號(即前面的#號)。
3. 在當前目錄下,打開 .bashrc 文件, 讓 ls 命令顯示中文和顏色,添加代碼如下:
(其實經過本人實踐,發現這一步對中文亂碼的處理沒有影響,只是針對 ls 命令做的一個視覺顯示改進。不過確實看起來舒服多了。^_^)
3. 通
所謂 “ 窮則變,變則通。” 現在你會發現在這份終極方案處理下,Cygwin 已經完美支持各種情況下的中文顯示了。
各種情況例子截圖如下:
1. ls -la 命令:
2. javah 命令
3. 查看代碼中的中文注釋
本文系本人原創,供各位學習交流,如有需要轉載請標注出處,並給出本原文鏈接。謝謝各位支持。^_^