正確設置越獄版ios的終端編碼--命令行中文的處理



本文是針對越獄版iPhone手機的,手機沒有越獄就別看了,看了也沒辦法用。

越獄版的iPhone當然是為了跟電腦一樣做各種有趣的事情的。
但通常越獄的iPhone在命令行都無法處理中文,比如你的播放器里面的中文歌曲名,列出來全部是亂碼的樣子。類似下面的圖:

輸入中文也做不到,在終端窗口輸入中文,只會收到一串的警告音,什么也輸入不上去或者同樣是一串亂碼顯示。
這樣很多強大的命令行工具也不能用了,比如find/grep。

設置命令行的編碼方式是無法成功的,默認情況下命令行只支持"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設置生效

此時終端已經能夠友好的處理中文了:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM