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

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

未解决前:

# 进入容器 查看字符集
[[email protected] ~]# docker exec -it b18f56aa1e15 /bin/bash
[email protected]:/# 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=
# 查看容器支持的字符集
[email protected]:/# locale -a
C
C.UTF-8
POSIX

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

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

[[email protected] ~]# docker exec -it b18f56aa1e15 env LANG=C.UTF-8 /bin/bash
[email protected]:/# 你好
[email protected]:/# 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> 你好

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

原文地址:http://blog.51cto.com/10814168/2167794

时间: 2024-10-25 08:51:16

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

ubuntu14.04下搜狗输入法不能输入中文问题解决

解决方法如下: 一.重启搜狗输入法 通过下面的两个命令重启搜狗输入法 ~$ killall fcitx ~$ killall sogou-qinpanel 二.检查修复安装依赖 ~$ sudo apt-get install -f 三.删除配置文件, ubuntu下搜狗的配置文件在 ~/.config下的3个文件夹里: SogouPY.SogouPY.users.sogou-qimpanel 删除这3个文件夹. 四.重启电脑 问题解决,搜狗输入法可以输入中文. 参考: ubuntu 16.04下

Ubuntu解决终端不能输入中文

打开/etc/environment 在下面添加如下两行 LANG=”zh_CN.UTF-8″ LANGUAGE=”zh_CN:zh:en_US:en” 打开 /var/lib/locales/supported.d/local 添加zh_CN.GB2312字符集,如下: en_US.UTF-8 UTF-8 zh_CN.UTF-8 UTF-8 zh_CN.GBK GBK zh_CN GB2312 保存后,执行命令: sudo locale-gen 打开/etc/default/locale 修改

powerpoint无法输入中文怎么办|ppt文本框无法输入中文解决办法

powerpoint文本框无法输入中文的情况不知大家是否遇到过呢?反正小编是遇到过这样的情况的,简直是急煞人也!那么powerpoint无法输入中文时应该怎么办呢?本节内容中小编就为大家带来ppt文本框无法输入中文问题解决办法,下面不妨一起来了解一下吧! ppt文本框无法输入中文解决办法 用最原始的办法注册表监视变化情况来安装一个新的OFFICE可以解决,但随之找到另一方法就是比较排除法,比较另一台电脑关于输入法的注册表键值从而找出他们的不同处.所以这里提供2种方法: 1. 重装MS OFFIC

ruby 输入中文乱码问题解决

近在Netbeans中用ruby时,发现输出的中文全是乱码,解决方法如下: 在Netbeans的安装目录中找到etc目录,然后打开这个目录,然后用把此文件在netbeans中打开 在里面的netbeans.conf配置文件中添加一个选项. 即是在 netbeans_default_options这行的末尾加上-J-Dfile.encoding=UTF-8这个参数. 添加后如下netbeans_default_options="-J-client -J-Xss2m -J-Xms32m -J-XX:

【转】解决Ubuntu下Sublime Text 3无法输入中文

前言 sublime很好用,但是ubuntu下不能输入中文,这是一个很大的问题.不知道为什么开发着一直也不解决,好在还是有高手在,总能找到方法.网上方法很多,但是也很乱,现在我将自己的经验总结一下. 首先,我参考了好几篇文章,都是蛮不错的,先列出来: sublime-text-imfix:首先推荐这个方法,最简单,但是在我的系统上有些问题.可用这个的强烈推荐用这个 完美解决 Linux 下 Sublime Text 中文输入:讲的比较明白,也可用参考. Ubuntu下Sublime Text 3

sublime text3 输入中文的解决方法及注册

让它输入中文的原理就是给sublime text3给打上个补丁libsublime-imfix.so,这个补丁可以直接git回来,或者下载补丁的源码编译安装. Ubuntu可以直接按照下面的教程 sublime text3 输入中文的解决方法 1. 下载我们需要的文件,打开终端 ,输入: git clone https://github.com/lyfeyaj/sublime-text-imfix.git 2. 将下载的文件解压之后,移到当前目录(-目录下边),然后执行下边命令: cd ~/su

解决Ubuntu下Sublime Text 3无法输入中文

前言 sublime非常好用,可是ubuntu下不能输入中文,这是一个非常大的问题.不知道为什么开发着一直也不解决,好在还是有高手在.总能找到方法. 网上方法非常多,可是也非常乱,如今我将自己的经验总结一下. 首先,我參考了好几篇文章.都是蛮不错的.先列出来: sublime-text-imfix:首先推荐这种方法.最简单.可是在我的系统上有些问题. 可用这个的强烈推荐用这个 完美解决 Linux 下 Sublime Text 中文输入:讲的比較明确.也可用參考. Ubuntu下Sublime

Ubuntu菜鸟入门(十八)————解决Ubuntu下Sublime Text 3无法输入中文

一.下载我们需要的文件,打开终端,输入: git clone https://github.com/lyfeyaj/sublime-text-imfix.git 二.将subl移动到/usr/bin/,并且将sublime-imfix.so移动到/opt/sublime_text/(sublime的安装目录) cd ~/sublime-text-imfix sudo cp ./lib/libsublime-imfix.so /opt/sublime_text/ sudo cp ./src/sub

解决Ubuntu下sublime3无法输入中文

参考site: https://github.com/YoungZHU/sublime-imfix 1. 下载sublime-imfix.c  假设下载到了 home(-)目录下 2. 安装c\C++编译环境和gtk libgtk2.0-dev 终端下输入以下命令:       $ sudo apt-get install build-essential libgtk2.0-dev 3. 编译共享库 终端下输入以下命令: $ gcc -shared -o libsublime-imfix.so