[#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:46249] Re: 全角ダッシュ記号のエンコーディング?
From:
大田黒俊夫 <toshio.otaguro@...>
Date:
2009-08-01 05:55:18 UTC
List:
ruby-list #46249
木村さん
おお,やはり Windows-31J と Shift_JIS の違いですか.ご教示ありがとうございます.
ではこれから Windows 上では出来るだけ Windows-31J というエンコーディングを
明示したほうが良いわけですね.
エディタやブラウザなどで,Windows-31J と文字コードを明記したものが少ないのが
気になります.私はこれまでずーっと Shift_JIS という設定で日本語の文章を書いてきた
のですが,これは MS-DOS 時代から WIndows 時代への移り変わりのときに,
文字コードの違いを厳密に区別してこなかった人たちが(私をを含めて)いるという
ことなのでしょうね.
ちなみに,Windows-31J と CP932 とは同じものですか?CP932 は Windows 3.1
時代に,config.sys だか autoexec.bat だかで指定する必要があったように思います.
2009/08/01 14:15 に KIMURA Koichi<hogemuta@gmail.com> さんは書きました:
> 木村です。
>
> 大田黒俊夫 さんは書きました:
>> 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
--
俊(とし)
* 望湖庵日記 http://griffin.cocolog-nifty.com/lakesidedairy/