整理了近期在項目上做的一些技術研究,希望與大家共同探讨交流。
場景:Mac OS
terminal 本地中文顯示正常
ssh 登陸linux,伺服器中文顯示亂碼
嘗試解決:
方法1. (未解決)
在本地與伺服器執行 locale 指令, 發現字元編碼一緻,都是 zh_CN.UTF-8。嘗試再設定一遍
本地設定
locale
export LANG=zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8
locale
伺服器執行
locale
export LANG=zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8
locale
結果:無效
方法2. (未解決)
伺服器執行 locale -a 檢視可選字元集,發現隻有 zh_CN.utf8 沒有 zh_CN.UTF-8。 本地隻有 zh_CN.UTF-8 沒 zh_CN.utf8。 規避
locale
export LANG=zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8
locale
locale
export LANG=zh_CN.utf8
export LC_ALL=zh_CN.utf8
locale
方法3.(解決)
本地不動,還是 zh_CN.UTF-8,嘗試設定伺服器 LANG=zh_CN.gbk
locale
locale
export LANG=zh_CN.gbk
export LC_ALL=zh_CN.gbk
locale
結果:解決。 目前本地編碼 zh_CN.UTF-8 伺服器編碼 zh_CN.gbk
解決過程嘗試了 Chrome Secure Shell終端, Iterm2終端,虛拟機win7 + CRT,雙系統win10 + CRT。
走頭無路的同學可以嘗試一下“方法3” ~~