我使用rvm,Ruby 1.9.3和geokit(1.6.0)gem并且遇到UTF-8问题。
我在〜/ .rvm / environment / @ default中添加了行export RUBYOPT=-Ku
,并在〜/ .rvm / bin / ruby中将exec ruby "$@"
替换为exec ruby -Ku "$@"
。
然后我尝试用两个字符串执行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:在`do_geocode'中:不兼容的字符编码:UTF-8和ASCII-8BIT(编码: :CompatibilityError)
为什么export RUBYOPT=-Ku
和exec ruby -Ku "$@"
不适用于geocoders.rb并适用于File.rb?
有人能帮助我吗?
答案 0 :(得分:3)
# encoding: UTF-8
require 'geokit'
require 'cgi'
a = Geokit::Geocoders::GoogleGeocoder.geocode(CGI.escape('München'))