#ruby #utf-8 #geokit
#ruby #utf-8 #geokit
Вопрос:
я использую rvm, Ruby 1.9.3 и geokit (1.6.0) gem и испытываю проблемы с UTF-8.
я добавил строку export RUBYOPT=-Ku
в свой ~/.rvm/environments /@default и заменил exec ruby "$@"
на exec ruby -Ku "$@"
в ~/.rvm/bin/ ruby. Затем я пытаюсь выполнить File.rb с двумя строками:
require 'geokit'
a=Geokit::Geocoders::GoogleGeocoder.geocode 'München'
Ошибка:
ruby-1.9.3-p0@mygemset/gems/geokit-1.6.0/lib/geokit/geocoders.rb:443:in `do_geocode’: несовместимые кодировки символов: UTF-8 и ASCII-8BIT (Ошибка кодирования: CompatibilityError)
Почему export RUBYOPT=-Ku
и exec ruby -Ku "$@"
не работают для geocoders.rb и работают для File.rb? Кто-нибудь может мне помочь?
Ответ №1:
# encoding: UTF-8
require 'geokit'
require 'cgi'
a = Geokit::Geocoders::GoogleGeocoder.geocode(CGI.escape('München'))