iconvをうまく動かす
昨晩のカロ氏のアドバイス
21:10 [karo] xyzzyでsjisにしたファイルをiconvでutf-8にしてみた
21:10 [karo] さすがに自分で作ったファイルはiconvも文句を言わずに読み込むな
21:11 [karo] で、なんかiconvの癖が見えてきた気がする
21:12 [karo] もとのファイル:高橋 功〓
21:12 [karo] iconv作成ファイル:高橋 功〓
21:13 [karo] あれ?ここに張り付けると同じになるな
21:13 [karo] とにかく、〓の文字が違うな
21:30 [karo] 結論:0xefbc8dを0xe28892に置換してからならiconvが使える。
ということで、rubyでは
#!/usr/bin/ruby -Ku require 'iconv' print Iconv.iconv("sjis","utf8",STDIN.read.gsub(/\xEF\xBC\x8D/,"\xE2\x88\x92"))
もしくは
cat aaa_utf8_file.txt | ruby -e 'require "iconv";print Iconv.iconv("sjis","utf8",STDIN.read.gsub(/\xEF\xBC\x8D/,"\xE2\x88\x92"))' > aaa_sjis_file.txt
で良いことになる。
実験してみるとうまくいった。
http://www.miraclelinux.com/technet/samba30/iconv_issues.html
ここもちょっと気になる。