有奖捉虫:行业应用 & 管理与支持文档专题 HOT

日志中出现乱码,如何解决?

问题描述

部署至弹性微服务中的业务,如果在日志中显示乱码,一般是由于 locale 的错误配置导致。
遇到这种情况时,可以通过以下方案解决,设置与您应用部署地域相应的编码配置。

解决方案

方案一:在您的镜像 Dockerfile 中,永久设置环境字符集环境变量。
如果您的应用部署在中国区,请使用以下参数: ENV LC_ALL=“zh_CN.UTF-8”
如果您的应用部署在日本区,请使用以下参数: ENV LC_ALL=“ja_JP.UTF-8”
方案二:在弹性微服务控制台,部署详情页面下的环境变量中,添加环境字符集。
如果您的应用部署在中国区,请添加以下环境变量:
?
?
如果您的应用部署在日本区,请添加以下环境变量:
?
?

说明与注意

日志中出现乱码,通常与两个问题相关:运行平台环境问题,以及开发环境或交互服务的编码问题。 上述的解决方案是通过配置 LC_ALL 的方法解决运行平台的环境问题,若问题仍存在:
若非交互环境中出现乱码,请检查您的开发环境中配置的编码是否为 UTF-8
若在交互环境中出现乱码,请检查您交互时配置的编码(如 HTTP 请求时Content-type)和交互对象的编码(如数据库编码)。
镜像类应用配置环境变量前,请先通过如下命令查看镜像环境中支持的字符集,选择相应的 UTF-8 字符集: $ locale -a | grep "UTF-8"


http://www.vxiaotou.com