首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在docker中运行应用程序时的编码问题(Python、Java、Ruby等)使用Ubuntu容器(ascii,utf-8)

在docker中运行应用程序时的编码问题(Python、Java、Ruby等)使用Ubuntu容器(ascii,utf-8)
EN

Stack Overflow用户
提问于 2015-01-14 05:16:48
回答 3查看 25.1K关注 0票数 22

在我自己的PC上,应用程序运行得很好,但当它被部署到docker中时,由于无效字符而失败。

我使用的是ubuntu:lastest容器和python3javaruby

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-01-14 05:16:48

您需要正确设置区域设置

下面是最小的正确Dockerfile:

代码语言:javascript
运行
复制
FROM ubuntu:latest

RUN locale-gen en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8

通常的docker图像没有指定区域设置。如果你使用它并执行locale,你就会看到它

代码语言:javascript
运行
复制
sudo docker exec -i -t yowsup3 bash

资料来源:

票数 46
EN

Stack Overflow用户

发布于 2019-08-19 14:32:41

我尝试了上面的解决方案,发现locale-gen命令在我的docker中不可用。

因此,将此行添加到RUN命令之上或将其添加到中。

代码语言:javascript
运行
复制
RUN apt-get update && apt-get install -y locales && locale-gen en_US.UTF-8

现在,这将起作用。

第二个ENV LC_ALL en_US.UTF-8足以设置大部分变量,但留下了两个空闲的变量,所以这就是为什么我们需要设置所有3个变量的原因。

票数 3
EN

Stack Overflow用户

发布于 2020-05-22 09:46:46

代码语言:javascript
运行
复制
FROM centos:7 

ENV LANG=en_US.UTF-8

在docker文件中添加上述一行代码对我来说很有效

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27931668

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档