Docker解決終端無法輸入中文的問題
:
某日在docker里搭建了一套MySQL服務(wù),發(fā)現(xiàn)在MySQL命令行內(nèi)無法輸入中文 中文顯示也以?代替,起初以為是MySQL字符集的問題 檢查之后未解決問題,又退出到容器終端 發(fā)現(xiàn)同樣不能輸入中文,由此推斷 是系統(tǒng)字符集出現(xiàn)問題,現(xiàn)將解決過程記錄如下:
未解決前:
# 進(jìn)入容器 查看字符集 [root@master2 ~]# docker exec -it b18f56aa1e15 /bin/bash root@b18f56aa1e15:/# locale LANG= LANGUAGE= LC_CTYPE="POSIX" LC_NUMERIC="POSIX" LC_TIME="POSIX" LC_COLLATE="POSIX" LC_MONETARY="POSIX" LC_MESSAGES="POSIX" LC_PAPER="POSIX" LC_NAME="POSIX" LC_ADDRESS="POSIX" LC_TELEPHONE="POSIX" LC_MEASUREMENT="POSIX" LC_IDENTIFICATION="POSIX" LC_ALL= # 查看容器支持的字符集 root@b18f56aa1e15:/# locale -a C C.UTF-8 POSIX
不能輸入中文原因:系統(tǒng)使用的是POSIX字符集,POSIX字符集是不支持中文的,而C.UTF-8是支持中文的 只要把系統(tǒng)中的環(huán)境 LANG 改為"C.UTF-8"格式即可解決問題
只要這樣進(jìn)入容器即可輸入中文: docker exec -it b18f56aa1e15 env LANG=C.UTF-8 /bin/bash
[root@master2 ~]# docker exec -it b18f56aa1e15 env LANG=C.UTF-8 /bin/bash root@b18f56aa1e15:/# 你好 root@b18f56aa1e15:/# mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 80 Server version: 5.7.17-log MySQL Community Server (GPL) Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> 你好
注意:
這樣修改只是臨時(shí)修改。要永久修改,需要在創(chuàng)建容器時(shí)在dockerfile中設(shè)置。
K8s進(jìn)入pod不能輸入中文 也可用此方法解決。
以上就是Docker解決終端無法輸入中文的問題的詳細(xì)內(nèi)容,更多關(guān)于docker解決無法輸入中文的資料請關(guān)注本站其它相關(guān)文章!
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。