mmo*_*sen 11 ruby encoding puppet
我在用木偶编码地狱的文件.即使是最简单的尝试也行不通:
hiera-data/test.yaml:
---
test: Äñö
init.pp:
$test = hiera('test')
file { "/root/encoding.txt":
ensure => file,
content => $test
}
Run Code Online (Sandbox Code Playgroud)
在puppet服务器上一切都很好看:
puppet:~ # file -i /etc/puppetlabs/puppet/hiera-data/env/test.yaml
/etc/puppetlabs/puppet/hiera-data/env/test.yaml: text/plain charset=utf-8
puppet:~ # cat /etc/puppetlabs/puppet/hiera-data/env/test.yaml
---
test: Äñö
puppet:~ # locale
LANG=POSIX
LC_CTYPE=en_US.UTF-8
Run Code Online (Sandbox Code Playgroud)
在傀儡代理人:
puppet-test:~ # locale
LANG=POSIX
LC_CTYPE=en_US.UTF-8
Run Code Online (Sandbox Code Playgroud)
跑完后:
puppet-test:~ # file -i encoding.txt
encoding.txt: text/plain charset=utf-8
Run Code Online (Sandbox Code Playgroud)
但:
更新:这里是约翰评论中提到的HEX数据(查看时vi :%!xxd):
0000000: efbf bdef bfbd efbf bdef bfbd efbf bdef ................
0000010: bfbd 0a ...
Run Code Online (Sandbox Code Playgroud)
更新:正如彼得的评论中所述,直接运行hiera并未提供任何进一步的见解.特别是,我只能在服务器上试用它,因为代理没有源.

我的环境已经过时,但我不允许使用任何更新的版本(至少还没有,没有任何好的理由):
我很感激任何洞察这个问题!
提前谢谢了
拥有LANG=POSIX绝对会让事情变得混乱。 LANG决定控制台显示的编码。通常需要有LANG和LC_TYPE匹配。
请参阅:“解释导出 LANG、LC_CTYPE、LC_ALL 的效果”。
有关详细信息,请LANG=POSIX参阅POSIX Locale。
另外,在一个不相关的说明中,Puppet 3.8 在正确显示和/或保留 Unicode 字符方面肯定存在缺陷。最近的 Puppet 构建中已经完成了大量工作,以实现 Puppet 的完全国际化和本地化。
| 归档时间: |
|
| 查看次数: |
371 次 |
| 最近记录: |