From: "大田黒俊夫" Date: 2009-08-01T10:48:51+09:00 Subject: [ruby-list:46247] 全角ダッシュ記号のエンコーディング? Ruby 1.9 系列のエンコーディングについて質問します. 以下のようなスクリプトで全角ダッシュ"−"をエンコードしようとすると, エラーではねられます. ちなみに環境は Windows-XP SP3, Ruby 1.9.1 p243 (i386-mswin32)です. # -*- coding: Shift_JIS -*- # p "ー".encode("Windows-31J") #=> "ー" p "ソ".encode("Windows-31J") #=> "ソ" p "−".encode("Windows-31J") #=>Encoding::UndefinedConversionError エラーメッセージの中に "\xE2\x88\x92" from UTF-8 to Windows-31J in conversion from Shift_JIS to Windows-31J というメッセージが含まれています. Shift_JIS の 5c というコードが悪さをしているのでしょうか? そもそも,Shift_JIS と Windows-31J がどう違うのか,よくわかっていません. ちなみに,上記スクリプトの magic comment で Windows-31J を指定するとこのエラーは起きません. ご教示いただければ幸いです. -- 俊(とし) * 望湖庵日記 http://griffin.cocolog-nifty.com/lakesidedairy/