[#46247] 全角ダッシュ記号のエンコーディング? — 大田黒俊夫 <toshio.otaguro@...>
Ruby 1.9 系列のエンコーディングについて質問します.
5 messages
2009/08/01
[#46268] 正規表現にマッチする部分文字列を全て取得したい — threewayhandshake@...
初めまして、Rubyの正規表現について質問です。
5 messages
2009/08/08
[#46301] 自前コンパイルしたruby1.9の$LOAD_PATHに"."が入っていない — KURODA Hiraku <hiraku@...>
こんにちは、黒田ひらくと言います。
12 messages
2009/08/20
[#46321] ファイル名について — "前川 映一" <eiichi_maekawa@...>
17 messages
2009/08/21
[#46322] Re: ファイル名について
— "NARUSE, Yui" <naruse@...>
2009/08/21
成瀬です。
[#46324] Re: [ruby-list:46322 , 46323 ] Re: ファイル名について
— "前川 映一" <eiichi_maekawa@...>
2009/08/21
[#46325] Re: [ruby-list:46322 , 46323 ] Re: ファイル名について
— ikezawa@... (ikezawa)
2009/08/21
池澤といいます。
[#46327] Re: [ruby-list:46322 , 46323 ] Re: ファイル名について
— "sora.h" <sora134@...>
2009/08/21
ソラです。
[#46331] Re: [ruby-list:46322 , 46323 ] Re: ファイル名について
— Tetsuo Sakaguchi <saka@...>
2009/08/21
In message <ca6fd2180908210042k833870cw4e634d22f37d5456@mail.gmail.com> 2009-08-21T16:42+0900,
[ruby-list:46248] Re: 全角ダッシュ記号のエンコーディング?
From:
KIMURA Koichi <hogemuta@...>
Date:
2009-08-01 05:15:40 UTC
List:
ruby-list #46248
木村です。
大田黒俊夫 さんは書きました:
> 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 がどう違うのか,よくわかっていません.
今回のこの件については、0x5cは関係ありません。
ShiftJISとWindows-31Jというのは、ほぼ同一のものなのですが一部に違いがあ
ります。
そのため、両者を混用すると今回のようなことが発生します。
上記の例の全角ダッシュは、ShiftJISとWindows-31Jでは値が違います。
「ShiftJISで表現した全角ダッシュをWindows-31Jの振りして」変換させ
ようとしたので、エラーになったわけです。
#大分はしょりましたが、ほかの人が補足してくれるんじゃないかな
Ruby Freaks Lounge:第4回 Ruby M17N 事始め:文字コード編|gihyo.jp … 技
術評論社
http://gihyo.jp/dev/serial/01/ruby/0004
Windows-31JとShiftJISがどうちがうのかは上の記事辺りをとっかかりに
調べてみてください。
>
> ちなみに,上記スクリプトの magic comment で Windows-31J を指定するとこのエラーは起きません.
>
> ご教示いただければ幸いです.
>
マジックコメントを Windows-31J にしたことによって、ShiftJISとの
混用がなくなったのでエラーも起きなくなったというわけです。
--
木村浩一/KIMURA Koichi
I thought what I'd do was, I'd pretend I was one of those deaf-mutes or
shoud I?
mail kbk at kt.rim.or.jp
web www.kt.rim.or.jp/~kbk/zakkicho/index.html