本文是針對越獄版iPhone手機的,手機沒有越獄就別看了,看了也沒辦法用。ios
越獄版的iPhone固然是爲了跟電腦同樣作各類有趣的事情的。
但一般越獄的iPhone在命令行都沒法處理中文,好比你的播放器裏面的中文歌曲名,列出來所有是亂碼的樣子。相似下面的圖:
bash
輸入中文也作不到,在終端窗口輸入中文,只會收到一串的警告音,什麼也輸入不上去或者一樣是一串亂碼顯示。
這樣不少強大的命令行工具也不能用了,好比find/grep。ssh
設置命令行的編碼方式是沒法成功的,默認狀況下命令行只支持"C"的編碼方式,也就是CP-1252。這種方式只支持ASCII字符。
通過一段研究,發現是ios終端默認沒有安裝編碼文件,這也是理所固然,不越獄,標準的iOS要編碼文件幹啥用,GUI界面都是使用本身的規則處理編碼。
這個編碼文件能夠直接在macOS電腦上拷貝,iOS跟macOS的編碼文件是通用的。一般我是用en_US.UTF-8編碼,這種編碼對中西文的支持都比較完善。
編碼文件路徑在/usr/share/locale/en_US.UTF-8/
文件夾,完整拷貝出來。保存到iOS上相同的路徑。
直接用scp拷貝應當算最方便的:工具
ssh root@xx.xx.xx.xx #鏈接到iPhone mkdir -p /usr/share/locale cd /usr/share/locale # 下面的用戶名、IP請替換成macOS對應的用戶名和IP地址 scp -r username@xx.xx.xx.xx:/usr/share/locale/en_US.UTF-8 . echo "export LC_ALL='en_US.UTF-8'" >> ~/.profile # 下面退出ssh, 從新鏈接iPhone就成功了,這是爲了讓修改以後的.profile設置生效
此時終端已經可以友好的處理中文了:
編碼