3
我試圖從ruby和open-uri的google maps web services API中獲得丹麥的位置地址。用Ruby的open-uri打開utf-8 URI
好一會Ærø酒店,丹麥:http://maps.googleapis.com/maps/api/geocode/json?address=ærø&傳感器=假&地區= DK作品在Chrome與打開-URI:
require 'rubygems'
require "open-uri"
require 'json'
uri = "http://maps.googleapis.com/maps/api/geocode/json?address=ærø&sensor=false®ion=dk"
response = open(uri)
array = JSON.parse(response)
pp array
這產生
/usr/lib/ruby/1.8/uri/common.rb:436:in `split': bad URI(is not URI?): http://maps.googleapis.com/maps/api/geocode/json?address=ærø&sensor=false®ion=dk (URI::InvalidURIError)
做的另一種方式,它似乎是轉義字符:
uri = "http://maps.googleapis.com/maps/api/geocode/json?address=ærø&sensor=false®ion=dk"
uri_escaped = URI.escape(uri)
response = open(uri_escaped)
array = JSON.parse(response.read)
pp array
但是這會產生一個轉義結果(不尋求:-)後
任何人有什麼可能解決這個問題的任何想法(獲得轉義反饋或發送UTF-8的請求)?這裏
的Ruby版本是1.8.7