2017-02-14 15 views
0

Я пытаюсь написать факт для Puppet.Неверная последовательность байтов в UTF-8 Ruby facter

У меня есть массив с именами пользователей array = ["user1", "user2", "user3"], а затем код

array.each do |item| 
    temp_data << Facter::Core::Execution.exec("net user #{item} /DOMAIN") 
end 
search_text = %r{comment|Local} 
users_data = [] 
temp_data.each do |line| 
    line.each_line do |num| 
    users_data << (num) unless num =~ search_text 
    end 
end 

temp_data генерирует хорошо, но я получаю сообщение об ошибке ERROR puppetlabs.facter - ошибку при разрешении пользовательского факта «winusers_domain»: недопустимая последовательности байт в UTF-8, но он не показывает, что линия ведьмы является ошибкой. Любое предложение?

ответ

0

Я понял это, поэтому я отвечаю на себя.

array.each do |item| 
    temp_data << Facter::Core::Execution.exec("net user #{item} /DOMAIN") 
end 
search_text = %r{comment|Local} 
users_data = [] 
temp_data.each do |line| 
    line.encode!('UTF-16', 'UTF-8', :invalid => :replace, :replace => '') 
    line.encode!('UTF-8', 'UTF-16') 
    line.each_line do |num| 
    users_data << (num) unless num =~ search_text 
    end 
end 

 Смежные вопросы

  • Нет связанных вопросов^_^