Docker容器忽略非ASCII字符

时间:2018-12-19 19:16:43

标签: python-3.x docker encoding docker-compose

我正在运行基于python:3-stretch的Docker容器。在我的python代码中,如果发出诸如print("båt")之类的命令,挪威特殊字符“å”将被忽略,输出仅为bt。我不确定是容器本身在使用我国家的特殊字符时遇到麻烦,还是python解释器。

在我的docker-compose.yml文件中,我将这些环境变量无济于事:

environment:
  - LANG=nb_NO.UTF-8
  - LC_ALL=nb_NO.UTF-8
  - PYTHONIOENCODING=utf-8

我也将此添加到了我的Dockerfile中,但仍然没有:

RUN apt-get update
RUN apt-get -y install locales
RUN echo nb_NO.UTF-8 UTF-8 > /etc/locale.gen
RUN locale-gen nb_NO.UTF-8

此外,我什至尝试用python代码对语言环境进行硬编码:

import locale
locale.setlocale(locale.LC_ALL, 'nb_NO.UTF-8')
print("båt")

输出仍然为bt

任何帮助调试的人将不胜感激!

0 个答案:

没有答案