解决docker容器中文字符乱码问题

这篇具有很好参考价值的文章主要介绍了解决docker容器中文字符乱码问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在命令行中,输入中文出现乱码或者键入错误的情况:

这里我想输入:”中文“,但是出现乱码。

解决docker容器中文字符乱码问题

并且,我在之前已经创建好镜像,通过镜像生成了容器。

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# 中文

可以看出,中文能够正常输入了~文章来源地址https://www.toymoban.com/news/detail-437986.html

到了这里,关于解决docker容器中文字符乱码问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • VSCode + GCC编译器(MinGW)开发环境中文字符乱码问题踩坑与解决办法

    问题背景 在较长一段时间里,C/C++开发者所使用的集成开发环境(IDE)要么是比较重量级的 VS(Visual Studio) ,要么是 Codeblocks·、·Visual C++ 6.0 等轻量级IDE,又或者是诸如 notepad++、sublime text 等文本编辑器+ GCC编译器 +命令行工具的组合式开发环境。这几种开发方式要么太过庞

    2023年04月22日
    浏览(72)
  • STM32在Keil中使用串口助手打印中文字符出现乱码问题

     问题如下,中文字符显示乱码,但数字正常。 通常这种在串口助手打印出现乱码情况: 无非是 波特率设置错误 ,不对应。就像一个滴水的水龙头,水滴进一个循环开合的容器,双方速率不能很好匹配,一定会出现水滴不能完全滴进容器,或者完全滴进或者完全滴不进的情

    2024年02月09日
    浏览(45)
  • Centos/Docker 环境中文乱码如何解决

    一.Centos环境乱码 1.通过 locale 查看当前环境的编码情况:  2. locale -a 查看系统支持的编码:  一般中文乱码,有两种情况,一是当前环境的编码不支持中文,二是当前环境的编码系统并不支持,也就是说通过locale中看到的编码再locale -a中并不存在。所以如果是第一种情况,换

    2023年04月24日
    浏览(42)
  • linux下json字符串格式化、解决json.tool中文乱码

    环境: centos7.9 在有外网的情况下,如果对数据没有严格的保密,那么可以通过在线json解析网站 https://www.sojson.com/ 对json字符串进行格式化。本篇讲如何在Linux环境下使用命令对json字符串进行格式化。 修改json.tool程序,该程序存在于python系统库安装路径下的json/tool.py, json.

    2024年02月15日
    浏览(55)
  • 解决CentOS 7中文乱码问题

    CentOS 7是一种常用的Linux发行版,但在某些情况下,用户可能会遇到中文乱码的问题。这个问题通常出现在终端或文本编辑器中,当显示中文字符时,可能会显示为乱码或方框。在本文中,我将为您提供一些解决CentOS 7下中文乱码问题的方法。 方法一:设置系统的字符集 在C

    2024年02月04日
    浏览(52)
  • 简单解决jsp中文乱码问题

    初学jsp制作一个简单的响应页面 具体代码如下: 保存为test.jsp文件,启动tomcat访问,出现下图: 在框内输入:vae 出现下图: 可是\\\"username\\\"看起来实在不舒服,决定将它改成\\\"用户名\\\" 这时问题出现: 本该出现\\\"用户名\\\"的地方出现了一串乱码: 所谓响应中的乱码,就是显示页面

    2024年02月16日
    浏览(55)
  • Debian系统解决中文乱码问题

    、安装locales apt-get install locales 2、设置语言选项 dpkg-reconfigure locales 选择如下四项:     zh_CN GB2312     zh_CN.GBK GBK     zh_CN.UTF-8 UTF-8     en_US.UTF-8 UTF-8 回车然后选择zh_CN.UTF-8 3、查看语言设置 locale 确保LANG=zh_CN.UTF-8 如何不是,执行export LANG=zh_CN.UTF-8 设置环境变量(临时设置

    2024年02月09日
    浏览(49)
  • 解决hive表中文乱码问题

    使用的mysql版本:Server version: 5.7.31 现象描述:字段名称和字段描述等存储进如hivemetastore是中文,查询出来也是???等无法识别的中文乱码; 中文乱码的情况分为两种情况: 新建hive集群防止中文乱码 已有的hive集群中文乱码的纠正 在构建hive开发环境的时候,需要实现构建号

    2024年02月09日
    浏览(43)
  • VScode注释中文时乱码怎么办?VScode中文注释乱码问题的解决方法

    不管是在哪一种编辑器上,都会有自动默认的一种编码格式,在vscode编辑器中默认的编码格式是utf-8,但是在注释的时候,因为使用的字符会不一样,所以可能存在着默认的配置文件,有可能是其他的编码格式,所以因为编码格式不对应,导致了在注释的时候出现了乱码的情

    2024年02月11日
    浏览(63)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包