跳至主要內容

Idea 中 Docker 的 log 乱码

Moses原创...大约 2 分钟DockerIdeaDockerIdea

IDEA 本地调试代 码中英文显示全部正常,但是用 idea 中的 docker 插件部署到服务器,再查看 容器中 log 的时候,log 里面的中文全是乱码!!!

就开启了一段排查过程,开始一个个排查(程序员的日常)。

查看容器中语言(字符集)环境,也是支持中文的,也就是 utf-8

env variables
env variables

如果不是的话,可以在 dockerfile 中加入环境的设定

ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:UTF-8
ENV LC_ALL en_US.UTF-8

用命令 docker logs 查看 log,里面也是正常的,如下图所示:

docker log
docker log

基本可以断定是 Idea 的问题了。

设置 Idea 的项目及文件编码

Idea encoding setting
Idea encoding setting

如果还不行,网上有说,在 Idea 安装路径下的 bin 目录的两个文件 idea.exe.vmoptionsidea64.exe.vmoptions 追加一行设置编码的配置 -Dfile.encoding=utf-8

Idea VM options
Idea VM options

然后重启 Idea,结果我发现,然并卵!!!十有八九是不起作用的!不知其他人会怎样?

但是这样的思路是正确的,正确的做法是,在 Idea 中打开这个文件,并设置,在 help -> Edit Custom VM Options 中,如下图所示:

Edit Custom VM Options
Edit Custom VM Options

在后面加入 -Dfile.encoding=utf-8,如下图所示:

add encoding setting
add encoding setting

然后重启一下 Idea,再查看 log,一切完好如初!如下:

all good
all good
上次编辑于:
贡献者: Moses
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v3.0.0-alpha.10