[#43996] ある日付の最終時刻の求め方 (秒単位) — SATOH Fumiyasu <fumiyas@...>

さとうふみやす @ OSS テクノロジです。

14 messages 2007/09/05
[#43998] Re: ある日付の最終時刻の求め方 (秒単位) — "GOTO Kentaro" <gotoken@...> 2007/09/05

07/09/05 に SATOH Fumiyasu<fumiyas@osstech.jp> さんは書きました:

[ruby-list:44025] iconvの多言語対応状況に関する質問

From: "S_Konno(今野 滋)" <sk@...>
Date: 2007-09-13 07:32:39 UTC
List: ruby-list #44025
今野です。お世話になっております。

iconvによる文字コード変換に関する質問です。
海外のwebpageの文字コードをユニコードに変換する際、直接のコマンド

`curl http://www.xinhuanet.com/ | iconv -f GB2312 -t UTF-8`

では、変換に成功するのですが、

require "iconv"
Iconv.iconv("UTF8", "GB2312" , `curl http://www.xinhuanet.com/`)

では、失敗することがあります。エラーメッセージは
-:2: (eval):2:in `iconv': "***|</a"... (Iconv::IllegalSequence)
	from (eval):2
とのことなので(***に文字化けした文字列)、たぶん、処理できない文字があったらしい。
ターミナルからのコマンド iconv --list では GB2312 が含まれていることがわかります。
ruby側からは GB2312 が有効かどうか確認できませんでした。(ruby1.8なので)

そこで、質問です
1. システムとruby(ruby1.6.8以降)の間で扱える文字コードの差分を知る方法は何かないでしょうか?
2. require "iconv" の方で、エラーの発生を回避する方法は何かないでしょうか?
3. もしかしてこれは、仕様ではなくて不具合?

なお、こちらの現在の環境は、Mac OSX10.4 で、
puts $:[0] #=> /opt/local/lib/ruby/site_ruby/1.8 (MacPortsです)
$ ruby -v  #=> ruby 1.8.6 (2007-03-13 patchlevel 0) [i686-darwin8.9.1]

# この内容は、ruby1.6.8 〜 1.8.6 の範囲で考えています。1.9は除外。

よろしくお願いします。

--
今野 滋(Konno Shigeru)
http://web.ec.hokudai.ac.jp/~sk/mac/mi/

In This Thread

Prev Next