Windows上でRuby on Railsアプリのプログラミングをしていて、
コマンドラインで ruby script\console でメソッド入出力を確認しようとしてました。
半角英数字の文字列を扱っているときは問題なし。快適。
でも全角、漢字文字列の入出力は確認できない!
アプリの$KCODEがUTF-8だから、コマンドプロンプト(SJISだけに対応)は文字化け表示するのだ。
あがいた結果、今後使える情報として以下はわかった。
・コマンドプロンプトで以下の手順を取ると、UTF-8を表示できる
1)コマンドプロンプトウィンドウの左上アイコンを右クリック>プロパティ>フォント で MSゴシックを選択
2)コマンドプロンプトで chcp 65001 と実行
情報源:もぎゃろぐ:utf8なテキストをコマンドプロンプトで表示する
いちおう、ここまではできた。type utf8file.txt なんてすると、
ファイル内容のUTF8のテキストがきちんと表示できた。
・しかし、上記1),2)を実行したあとのコマンドプロンプトでは、
Ruby on Railsプログラムの script\console が起動しない場合がある
(原因は不明。少々はまりました orz)
というわけで今回は、プログラミング途中の結果確認をしたいだけなので
コマンドプロンプトの調教を諦めて、Rubyソースを変更することにした。
元のコード例: (name1という変数の内容を表示させたい)
puts name1
変更後のコード例:
require "Kconv"
...
puts name1.tosjis
ひとまずの用は足りました。
でもほんとは、コマンドプロンプトのプロパティ指定あたりで、さくっとできたいところだと思う…。