0

我使用 rvm、Ruby 1.9.3 和 geokit(1.6.0) gem,但遇到了 UTF-8 问题。

我在 ~/.rvm/environments/@default 中添加了一行export RUBYOPT=-Ku,并替换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 (Encoding::CompatibilityError)

为什么export RUBYOPT=-Kuexec ruby -Ku "$@"不为 geocoders.rb 工作而为 File.rb 工作?有谁能够帮我?

4

1 回答 1

3
# encoding: UTF-8
require 'geokit'
require 'cgi'

a = Geokit::Geocoders::GoogleGeocoder.geocode(CGI.escape('München'))
于 2011-11-12T17:03:39.447 回答