- 締切済み
Ruby 文字化け対策
プログラミングの初心者です。 質問させていただきたいのですが、下のようにrssを処理するプログラムを実行して結果を示していますが、文字化けになってしまっています。プログラムをどう変えたらこういった文字化けが直りますか? エディタの文字コード指定(utf8、JIS等に)を何回か変えてみても同じような実行になります。 稚拙な質問ですみませんが、ご存知な方教えて下さい。 宜しくお願い致します。 実行結果(一部抜粋) DisplayLink遉セ縺ョ繝√ャ繝励・荵励▲縺溘ゞSB/豸イ譎カ螟画鋤蝓コ譚ソ縲6SB繝薙ョ繧ェ繝懊・繝峨°<br /> 縺薙l縺ッ繝阪ず豁「繧√□縺」縺・br /> <a href="http://www.flick.com
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- notnot
- ベストアンサー率47% (4900/10361)
>rssの文字コードはどのように設定するのですか? XMLデータの中に書かれています。そう言うことも含めて中身を見てみては?
- notnot
- ベストアンサー率47% (4900/10361)
そのまま動かしてみましたが、ちゃんと表示されます。rssの文字コードも端末もutf-8で。 そのrssフィードが何かおかしいのかも。 wget でrssをXMLのまま取得して、中を見てみてはどうでしょうか。
補足
>そのrssフィードが何かおかしいのかも。 いろんなrssフィードを試してみましたが、同じ結果でした。 >rssの文字コードも端末もutf-8で。 ということですが、rssの文字コードはどのように設定するのですか? コマンドプロンプトの文字コードの変更は分かるのですが。無知ですみません。補足お願い致します。
- notnot
- ベストアンサー率47% (4900/10361)
>下のようにrssを処理するプログラム プログラムが抜けてますよ。 って気づいてるでしょうけど、質問は編集できないので、この回答への補足に書いてください。
補足
すみませんでした。 ご回答のほう宜しくお願い致します。 !/usr/bin/ruby require 'rubygems' require 'open-uri' require 'pp' require 'simple-rss' require 'cgi' url = 'RSSのURLが入る' url = ARGV.shift if ARGV.length > 0 page = open(url) rss = SimpleRSS.parse( page ) puts 'blog title: ' + rss.channel.title puts 'blog url: ' + rss.channel.link rss.items.each{ |item| puts 'item_title: ' + item.title body = item.description if item.description != nil body = CGI.unescapeHTML(item.content_encoded) if item.content_encoded != nil puts 'item_body: ' + body }
補足
>XMLデータの中に書かれています。そう言うことも含めて中身を見てみては? XMLデータの文字コードの設定はUTF-8になっています。 でも、文字化けのままです。 他に考えられる原因はありますでしょうか? なければいいのですが、すみません。