09/08/02 18:30:01
>>262-263 あたりのnokogiriの話。
どうもnokogiriのWindows版gemに同梱されてるDLLは
libXML2の公式サイトからリンクされてる
URLリンク(www.zlatkovic.com)
のもののようなので、
URLリンク(www.zlatkovic.com)
のDLLの情報等を参考にしつつ、libiconvの1.13に
森山さんのところのパッチ
URLリンク(www2d.biglobe.ne.jp)
をあてたものを
MinGW/MSYSでビルドして、MSYS環境でそのままビルドすると
libiconv-2.dllとかしか出来ないので、ビルド時に生成された*.oに
libiconv-2.dllから抜き出したdefファイルを加えて
dllwrapでiconv.dllを生成……
ということで結果としてlibiconv-1.13-ja-1相当のiconv.dllを
作成してdllの検索パス(nokogiriの元の構成通りだとbin直下)に
配置したところ、>>262の
>#Shift_JISの範囲外の文字を含んだWindows-31J(=CP932)エンコーディングの文字列
>irb(main):001:0> s="<html><HEAD><TITLE>11①11①</TITLE></HEAD><body></body></html>"
>=> "<html><HEAD><TITLE>11①11①</TITLE></HEAD><body></body></html>"
>#Windows-31JエンコーディングでHTMLパース。失敗。
>irb(main):003:0> Nokogiri::HTML.parse(s,nil,'Windows-31J')
が通るように。
とりあえず今回生成したiconv.dllは
需要があるかどうか何とも言えないけどうpっておきます。
URLリンク(www1.axfc.net)