最近換了 Debian 9 的系統(tǒng),重新部署了一下開發(fā)環(huán)境。在安裝完 VsCode 之后,發(fā)現(xiàn)在終端里輸出中文文件名時出現(xiàn)一堆
???
。
原因分析
不能正確輸出你想要的文字時悴晰,一是可能你寫錯了,二是計算機不認(rèn)識逐工。所以如果能保證自己沒寫錯铡溪,那就是計算機不認(rèn)識你寫的東西了一睁,也就是說編碼或者相關(guān)語言配置不對了。
問題解決
既然知道了大概的原因了佃却,那就看一下目前在 VsCode 終端里是使用的什么語言和編碼吧者吁,使用 locale
命令 或者 echo
輸出一下要查看的環(huán)境變量。
我這里用的是 locale
命令查看全部的語言環(huán)境設(shè)置饲帅,發(fā)現(xiàn)設(shè)置的值是 en_US.UTF-8
复凳,編碼沒問題,但是語言卻是英語(美國)而不是中文(簡體)灶泵。
使用 LANG="zh_CN.UTF-8
臨時設(shè)置一下環(huán)境變量育八, 重新輸出一下中文文件名,發(fā)現(xiàn)輸出正常了赦邻。
找到解決辦法了髓棋,但是這是一種臨時生效的方法,怎樣才能讓它長期生效呢惶洲?
VsCode 配置文件里有一個配置項 terminal.integrated.env.*
可以添加環(huán)境變量到 VsCode 進(jìn)程中, 因為我是 linux
系統(tǒng)按声,所以在配置文件 setting.json
中使用 terminal.integrated.env.linux
來配置:
"terminal.integrated.env.linux": {
"LC_ALL": "zh_CN.UTF-8"
}
配置后保存,重啟 VsCode 終端恬吕, 生效签则。
舉一反三
如果在使用 linux 的時候發(fā)現(xiàn)內(nèi)置終端的中文亂碼,也是可以采用這種方法來解決的铐料,修改 .bashrc
文件可以長期修改環(huán)境變量渐裂。