Создайте файл с кодировкой UTF-8, а не ANSI

#ruby #encoding #utf-8 #character-encoding #encode

#ruby #кодирование #utf-8 #кодировка символов #кодировать

Вопрос:

У меня проблема с преобразованием файла кодировки ANSI в файл кодировки UTF-8.

Операционная система: Windows 7 Enterprise 64-разрядная версия с пакетом обновления 1
Версия Ruby: ruby 2.3.1p112 (2016-04-26 редакция 54768)

 File.open("1.xml",'r:UTF-8') do |f|
    File.open("result.xml","w:UTF-8") do |out|
        out.write(f.read.force_encoding("utf-8"))
        #encode("iso-8859-1").force_encoding("utf-8")
    end
end
  

Я тоже пробовал; выводите ту же кодировку с помощью ANSI.

 File.open("test.xml","w:UTF-8") do |f|
    f.write("Some text")
end
  

Моя проблема в том, что я хочу прочитать файл здесь 1.xml который кодирует ANSI, затем сохраните его содержимое в новый файл с кодировкой UTF-8.

Я исследовал много часов, но я не получил результата.

Заранее спасибо.

Комментарии:

1. Поделитесь XML-прологом , т.Е. Первой строкой, которая может читать что-то вроде (XML по умолчанию) <?xml version="1.0" encoding="UTF-8"?> или <?xml version="1.0" encoding="iso-8859-1"?>

2. Я попробовал ваше предложение, я вручную создал небольшой XML-файл и добавил строку (XML prolog) в начало документа, но это не работает.