From: ytakagi Date: 2010-11-28T01:17:13+09:00 Subject: [ruby-list:47651] nokogiri の日本語の扱いについて nokogiri を使って、xml や html の処理をしたいと 思っているのですが、日本語の扱いで悩んでいます。 どうもnokogiriで処理をすると、その html や xml に含まれている 日本語が文字化けして復元できません。 (ただし、それをブラウザに表示させると、きちんと日本語として表示されます) どうしたものかなと。 たとえば、 require 'rubygems' require 'nokogiri' html = Nokogiri("

Hello world

") puts html.class puts html.search("h1") # 実行結果 # Nokogiri::XML::Document #

Hello world

とすれば、なんなくうまくいくわけですが、

こんにちは

だとうまくいかない。 (ただし、ブラウザに表示させると、日本語で表示される) もとの文字列をuri_encode にでもすればいいかな、と思いましたが、 それだとタグ部分の < > / などもencode されてしまい、ダメでした。 全文を split(//) で一文字単位で配列化し、 日本語 utf8 の部分を正規表現で判定し、url_encode にしようかな とも思いましたが、どうも自分がなにか初歩的な勘違いをしている 気がしてなりません。 みなさんは、nokogiri での日本語の扱いをどのようにしていますでしょうか? (ruby1.8.7 です) -- yt