Yahooの日本語形態素解析Webサービスのテスト
文字列のエンコードの仕方がよく分からずに手こずった( ´・ω・`)
CGI.escape(文字列)を使うときは、
事前に文字列の文字コードを変換しておくのがポイント。
今回のYahooのAPIの場合は、UTF-8に変換しておく。
それからCGI.escape。
これでバッチリうまくいく。
require 'open-uri' require 'cgi' require 'kconv' url = 'http://api.jlp.yahoo.co.jp/MAService/V1/parse' appid = 'あなたのUSERID' #filter = '9' # 名詞 sentence = '僕は宇宙人です。'.toutf8 # UTF-8に変換してから sentence = CGI.escape(sentence) # CGI.escape results = 'ma' url = url + '?appid=' + appid + #'&filter=' + filter + '&sentence=' + sentence puts url puts CGI.unescape(sentence).tosjis open(url){|xml| puts xml.read.tosjis }