Docker解决终端无法输入中文的问题

【字号: 日期:2022-07-22浏览:34作者:雯心

前言:

某日在docker里搭建了一套MySQL服务,发现在MySQL命令行内无法输入中文 中文显示也以?代替,起初以为是MySQL字符集的问题 检查之后未解决问题,又退出到容器终端 发现同样不能输入中文,由此推断 是系统字符集出现问题,现将解决过程记录如下:

未解决前:

# 进入容器 查看字符集[root@master2 ~]# docker exec -it b18f56aa1e15 /bin/bashroot@b18f56aa1e15:/# localeLANG=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 -aCC.UTF-8POSIX

不能输入中文原因:系统使用的是POSIX字符集,POSIX字符集是不支持中文的,而C.UTF-8是支持中文的 只要把系统中的环境 LANG 改为'C.UTF-8'格式即可解决问题

只要这样进入容器即可输入中文: docker exec -it b18f56aa1e15 env LANG=C.UTF-8 /bin/bash

[root@master2 ~]# docker exec -it b18f56aa1e15 env LANG=C.UTF-8 /bin/bashroot@b18f56aa1e15:/# 你好root@b18f56aa1e15:/# mysql -uroot -pEnter password: Welcome to the MySQL monitor. Commands end with ; or g.Your MySQL connection id is 80Server 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 itsaffiliates. Other names may be trademarks of their respectiveowners.Type ’help;’ or ’h’ for help. Type ’c’ to clear the current input statement.mysql> 你好

注意:

这样修改只是临时修改。要永久修改,需要在创建容器时在dockerfile中设置。K8s进入pod不能输入中文 也可用此方法解决。

以上就是Docker解决终端无法输入中文的问题的详细内容,更多关于docker解决无法输入中文的资料请关注乐呵呵网其它相关文章!

标签: Docker
相关文章: