docker web 中文亂碼怎麼辦

2022-11-28 10:00:38

docker web中文亂碼的解決辦法:1、使用locale檢視當前容器的系統使用的字元集;2、使用「locale -a」檢視當前容器的系統支援可以使用的字元集;3、修改「/etc/profile」,新增系統變數LANG即可。

php入門到就業線上直播課:進入學習
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API偵錯工具:

本教學操作環境:Windows7系統、Docker 20.10.11版、Dell G3電腦。

docker web 中文亂碼怎麼辦?

解決docker容器中文字元亂碼問題

在命令列中,輸入中文出現亂碼或者鍵入錯誤的情況:

這裡我想輸入:」中文「,但是出現亂碼。

9a7a0978bfe2ff2713acd92b09e1060.jpg

並且,我在之前已經建立好映象,通過映象生成了容器。

1.使用locale檢視當前容器的系統使用的字元集。

2.使用locale -a檢視當前容器的系統支援可以使用的字元集。

3.在一些部落格中,都建議修改/etc/profile,新增系統變數LANG等。

1)/etc/profile:此檔案為系統的每個使用者設定環境資訊,當使用者第一次登入時,該檔案被執行.

並從/etc/profile.d目錄的組態檔中搜集shell的設定.

注:在這裡我們設定是為所有使用者可使用的全域性變數。

2)/etc/bashrc:為每一個執行bash shell的使用者執行此檔案.當bash shell被開啟時,該檔案被讀取.

但是可以看出,/etc/profile中只有當使用者第一次登陸時,被執行。所以當你在該檔案中修改後,並且docker commit後,再次通過更新後的進行執行容器,並不會生效。

所以,在這裡,我修改/etc/bashrc,來更新系統字元集變數:

export  LANG="C.UTF-8"
export LANGUAGE="C.UTF-8"
export LC_ALL="C.UTF-8"
登入後複製

修改後,記得要生效:

source /etc/bash.bashrc
登入後複製

再次通過locale檢視是否更新了系統字元集:

root@7bfce1075a4b:/workspace# locale
 
LANG=C.UTF-8
LANGUAGE=C.UTF-8
LC_CTYPE="C.UTF-8"
LC_NUMERIC="C.UTF-8"
LC_TIME="C.UTF-8"
LC_COLLATE="C.UTF-8"
LC_MONETARY="C.UTF-8"
LC_MESSAGES="C.UTF-8"
LC_PAPER="C.UTF-8"
LC_NAME="C.UTF-8"
LC_ADDRESS="C.UTF-8"
LC_TELEPHONE="C.UTF-8"
LC_MEASUREMENT="C.UTF-8"
LC_IDENTIFICATION="C.UTF-8"
LC_ALL=C.UTF-8
登入後複製

最後,可以看出能夠正常在命令列中輸入中文:

root@7bfce1075a4b:/workspace# 中文
登入後複製

最後的最後,別忘記提交映象更新:你可以選擇覆蓋當前映象,只要倉庫名:標籤名和你要覆蓋的一樣就行

docker commit -m="run command" -a="wkn" 7bfce1075a4b wkn/pattern-ai:torch_1.11.0_v
登入後複製

再次通過更新後的映象執行一個新的容器:

wkn@MightyDragon:~$ docker commit -m="run command" -a="wkn" 7bfce1075a4b wkn/pattern-ai:torch_1.11.0_v1
sha256:18b066686fe87306bb1b09e2e98c89af04a23ec6054edbf3cc73bd1dc72826a7
wkn@MightyDragon:~$ docker run -v /home/wkn:/home/wkn  -it --gpus '"device=0,1"' 18b066686fe8
root@05c9c8706296:/workspace# 中文
登入後複製

可以看出,中文能夠正常輸入了~

推薦學習:《》

以上就是docker web 中文亂碼怎麼辦的詳細內容,更多請關注TW511.COM其它相關文章!