タグ

ブックマーク / mtoyoshi.hateblo.jp (2)

  • コマンドプロンプトからの標準入力の文字コードは? - mtoyoshi開発メモ

    昨日も同様の記事を書きましたが、コマンドプロンプトからの標準入力の文字コードは何か?という問題。 というのも、こんなプログラムを作って、標準入力から「あいうえお」と打ちみます。 # -*- coding: Shift_JIS -*- puts $1 if gets =~ /あ(.*?)お/ 期待値は「いうえ」なんですが、実際は、 sample.rb:2:in ` ': incompatible encoding regexp match (Shift_JIS regexp with Windows-31J string) (Encoding::CompatibilityError) となります。 コマンドプロンプトのプロパティを見ると、 現在のコードページ:932 (ANSI/OEM - 日語 Shift-JIS) とあります。一応、標準入力の文字コードを調べるため、次のプログラムで実験

    コマンドプロンプトからの標準入力の文字コードは? - mtoyoshi開発メモ
    murasuke
    murasuke 2011/01/18
    rubyのmagic commentの内容をWindows-31Jに変更することで動きました。
  • ruby1.9.1の文字化け - mtoyoshi開発メモ

    Windowsrubyを1.8.7から1.9.1にあげてみた。するとこんな簡単なプログラムですら文字化けするようになった。 # -*- coding: utf-8 -*- puts "あいうえお" プログラムファイルはもちろんUTF-8で保存している。事実、次のようにしてもUTF-8と表示されるのであっているはずだ。 # -*- coding: utf-8 -*- puts "あいうえお".encoding ちなみにこうするとうまくいった。 # -*- coding: utf-8 -*- puts "あいうえお".encode("Shift_JIS", "UTF-8") うーむ。なんでShift_JIS?色々考えた挙句、理由が分かりました。 Windowsのコマンドプロンプトのプロパティを見ると、 現在のコードページ:932 (ANSI/OEM - 日語 Shift-JIS) となって

    ruby1.9.1の文字化け - mtoyoshi開発メモ
  • 1