В настоящее время я тестирую скрипт ruby, который использует механизацию с ruby 1.9.2 (пакеты Ubuntu Lucid).Как избежать кодирования :: СовместимостьError с ruby 1.9 и механизировать форму submit?
Первая строка устанавливает следующие параметры:
#!/usr/bin/env ruby -KU
Некоторые Mechanize почтовый индекс вызывает следующее исключение:
/usr/lib/ruby/1.9.1/www/mechanize/form.rb:222:in `join': incompatible character encodings: ISO-8859-1 and ASCII-8BIT (Encoding::CompatibilityError)
from /usr/lib/ruby/1.9.1/www/mechanize/form.rb:222:in `request_data'
from /usr/lib/ruby/1.9.1/www/mechanize.rb:401:in `post_form'
from /usr/lib/ruby/1.9.1/www/mechanize.rb:344:in `submit'
from /usr/lib/ruby/1.9.1/www/mechanize/form.rb:130:in `submit'
Mechanize используется как и в исходной программе:
# f is a Mechanize::Page object
final = f.form('final')
f.form('final') { |x|
f.form('final') { |x|
x.user == user
# ...
}
a = final.submit
Данные, которые заполняются (например, пользователь), считываются с диска через объекты File.new() и через Nokogiri- объекты, которые анализируют объекты File.
Печать данных на консоли не показывает очевидных проблем с подключением.
Таким образом, мой вопрос: как исправить эту проблему с кодировкой при отправке данных формы с помощью механизации?
Должен ли я сообщить механизации, какую кодировку символов использовать для http POST?