Jestem w pliku kodującym piekło z lalką. nawet najprostszych próba nie działa:Kodowanie piekła z lalką
hiera-data/test.yaml:
---
test: Äñö
init.pp:
$test = hiera('test')
file { "/root/encoding.txt":
ensure => file,
content => $test
}
na wszystko serwerze marionetka wygląda dobrze:
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
na agenta lalek:
puppet-test:~ # locale
LANG=POSIX
LC_CTYPE=en_US.UTF-8
po uruchomieniu:
puppet-test:~ # file -i encoding.txt
encoding.txt: text/plain charset=utf-8
ale:
Aktualizacja: tutaj dane HEX zadawane w komentarzach przez Jana (oglądanie go z vi :%!xxd
):
0000000: efbf bdef bfbd efbf bdef bfbd efbf bdef ................
0000010: bfbd 0a ...
Aktualizacja: jak zadawane w komentarzach przez Peter, prowadząc hiera bezpośrednio, nie daje żadnego wglądu. W szczególności mogę go wypróbować tylko na Serwerze, ponieważ Agent nie ma źródeł.
moje środowisko jest dość przestarzały, ale nie wolno mi użyć dowolnej nowszej wersji (przynajmniej jeszcze nie, bez ważnego powodu):
- SuSE Linux Enterprise 11 Service Pack 3
- marionetka Enterprise 3.8.6
- pe-ruby-1.9.3.551-9.pe.sles11
chciałbym docenić żadnego wglądu do tego problemu!
wiele z góry dzięki
Czy jesteś pewien, że problem nie dotyczy twojego terminala? Otwórz 'encoding.txt' w edytorze szesnastkowym (lub edytorze tekstowym w trybie binarnym/hex) i sprawdź, czy plik zawiera poprawne bajty. W szczególności kodowanie UTF-8 dla prezentowanego ciągu składa się z tych sześciu bajtów: 'c3 84 c3 b1 c3 b6'. Jeśli zawiera coś innego, dodaj to do swojego pytania. –
zaktualizowałem pytanie brakującymi informacjami, dzięki @JohnBollinger – mmoossen
Po drugim spojrzeniu na to nie wygląda to na marionetkowy problem. Wydaje się to być problemem systemowym. –