Kukla ile cehennemi kodlayan dosyadayım. bile en basit deneyin çalışmaz: kukla sunucu her konuda Kukla ile Korsan Kodlama
hiera-data/test.yaml:
---
test: Äñö
init.pp:
$test = hiera('test')
file { "/root/encoding.txt":
ensure => file,
content => $test
}
iyi görünüyor: kukla ajanı
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
:
puppet-test:~ # locale
LANG=POSIX
LC_CTYPE=en_US.UTF-8
çalıştırdıktan sonra:
puppet-test:~ # file -i encoding.txt
encoding.txt: text/plain charset=utf-8
ama:
Güncelleme: Burada John tarafından yorumlarında sorulan HEX verileri (vi :%!xxd
ile görüntüleyen):
0000000: efbf bdef bfbd efbf bdef bfbd efbf bdef ................
0000010: bfbd 0a ...
Güncelleme: yorumlarına sordu olarak Peter, hiera'yı doğrudan yürütmek, daha fazla bilgi vermez. Özel olarak, yalnızca Sunucuda deneyebilirim, çünkü Aracı'nın kaynakları yoktur.
benim ortamı oldukça eskidir, ama (herhangi bir İYİ bir neden olmadan, en azından henüz) herhangi yeni bir sürümünü kullanmak için izin değilim:
- SuSE Enterprise Linux 11 Service
- Pack 3 kukla Kurumsal 3.8.6
- pe-yakut-1.9.3.551-9.pe.sles11
i bu soruna herhangi bir fikir takdir ediyorum! peşin LANG = POSIX kesinlikle şeyler garip yapabilirsiniz Having
Sorunun terminaliniz olmadığından emin misiniz? Bir hex editöründe (veya ikili/hex modlu bir metin düzenleyicide) 'encoding.txt' açın ve dosyanın doğru baytları içerip içermediğini kontrol edin. Özellikle, hazırladığınız dizge için UTF-8 kodlaması bu altı bayttan oluşacaktır: 'c3 84 c3 b1 c3 b6'. Farklı bir şey içeriyorsa, lütfen sorunuzu buna ekleyin. –
Soruyu şu soruyla güncelledim: @JohnBollinger – mmoossen
İkinci bir bakıştan sonra, bu bir kukla problemi gibi görünmüyor. Bu bir sistem env sorunu gibi görünüyor. –