Tbpgr Blog

元エンジニア 人事 tbpgr(てぃーびー) のブログ

Javaプログラマーが学ぶRuby基礎/文字コード

概要

Rubyでの日本語文字コードの取り扱いについて。

サンプルコード

KCode.rb

puts("ほげほげ");

上記をShift-JISで保存する。

コマンドラインから指定

Kオプションで指定する。
Ks or S Shift_JIS
Ke or E EUC-JP
Ku or U UTF-8
Kn or N NONE(ASCII

Kオプションを指定しなかった場合

ruby KCode.rb

出力サンプル

KCode.rb:1: invalid multibyte char (US-ASCII)
KCode.rb:1: invalid multibyte char (US-ASCII)
KCode.rb:1: syntax error, unexpected $end, expecting ')'
puts("ほげほげ");

Kオプションを指定した場合

ruby -Ks KCode.rb

出力サンプル

ほげほげ

ソース中で指定

#! ruby -Ks
puts("ほげほげ");

こちらでも日本語として出力される。

※#!について
シバンまたはシェバン (shebang) といい、はUNIXスクリプトの#!から始まる1行目のこと。
起動してスクリプトを読み込むインタプリタを指定する