Bash Docker Jenkins从属错误字符编码
我使用的是Jenkins slave docker镜像,它基于ubuntu:14.04 我想使用一个包含UTF-8字符的字符串参数 类似于Bash Docker Jenkins从属错误字符编码,bash,docker,jenkins,character-encoding,jenkins-slave,Bash,Docker,Jenkins,Character Encoding,Jenkins Slave,我使用的是Jenkins slave docker镜像,它基于ubuntu:14.04 我想使用一个包含UTF-8字符的字符串参数 类似于的字符(匈牙利字符)将被替换为问号 正如票上提到的,我试图将-e LANG=hu_-hu.UTF-8和bash-c“locale gen hu_-hu.UTF-8”传递给docker。我还将export LANG=hu_-hu.UTF-8放入Jenkins用户的。bashrc字符仍然被替换。我还尝试了en_US.UTF-8 我也试着对詹金斯的工作做同样的事情:
的字符(匈牙利字符)将被替换为问号
正如票上提到的,我试图将-e LANG=hu_-hu.UTF-8
和bash-c“locale gen hu_-hu.UTF-8”
传递给docker。我还将export LANG=hu_-hu.UTF-8
放入Jenkins用户的。bashrc
字符仍然被替换。我还尝试了en_US.UTF-8
我也试着对詹金斯的工作做同样的事情:
+ export LANG=hu_HU.UTF-8
+ locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=hu_HU.UTF-8
LANGUAGE=
LC_CTYPE="hu_HU.UTF-8"
LC_NUMERIC="hu_HU.UTF-8"
LC_TIME="hu_HU.UTF-8"
LC_COLLATE="hu_HU.UTF-8"
LC_MONETARY="hu_HU.UTF-8"
LC_MESSAGES="hu_HU.UTF-8"
LC_PAPER="hu_HU.UTF-8"
LC_NAME="hu_HU.UTF-8"
LC_ADDRESS="hu_HU.UTF-8"
LC_TELEPHONE="hu_HU.UTF-8"
LC_MEASUREMENT="hu_HU.UTF-8"
LC_IDENTIFICATION="hu_HU.UTF-8"
LC_ALL=
输出是相同的
谢谢。我找到了解决方案:
bash -c "locale-gen hu_HU && locale-gen hu_HU.UTF-8 && update-locale && echo 'export LANG=hu_HU.UTF-8' > /jenkins/.bashrc"
另一种(可能更干净)的解决方案是修改作业配置,以便将环境变量注入到构建作业中
在“生成环境”部分中,在“属性内容”字段中添加环境变量
我认为这是一个更清洁的解决方案,因为本地jenkins帐户没有受到污染,jenkins安装负责维护构建环境;最好是当您有>1个从机在上维护本地帐户时。。。
此解决方案在Jenkins 1.613版时是准确的区域设置应安装在Jenkins主机()上,而不是您,我根据以下链接找到了解决方案:)