Ruby-KCODEについて
Rubyでプログラム中の文字コードを指定する
Rubyはプログラムで使用されている日本語などの文字コードとして、グローバル変数「$KCODE」に設定された値を使用します。
プログラムに以下のように記述することで、プログラム中の文字コードを指定することができます。
$KCODE='UTF8'
$KCODEの値 | 文字コード |
---|---|
SJIS | Shift_JIS |
EUC | EUC-JP |
UTF8 | UTF-8 |
NONE | NONE(ASCII) |
Ruby 1.9で$KCODEが廃止
Ruby 1.9 では$KCODEが廃止されています。
文字コードの指定は、先頭行に「magic comment」を書きます。
Shift_JIS に設定
# -*- coding: shift_jis -*-
Windows-31J に設定
# -*- coding: windows-31j -*-
EUC-JP に設定
# -*- coding: euc-jp -*-
UTF-8 に設定
# -*- coding: utf-8 -*-
文字コードの指定について
shebang行(シェバン:スクリプトの#!から始まる1行目のこと。)にオプションとして記述することで、読み込み時に評価させることが可能です。
#!/usr/local/bin/ruby -Ks
puts $KCODE #=> SJIS
#!/usr/local/bin/ruby -Ke
puts $KCODE #=> EUC
#!/usr/local/bin/ruby -Ku
puts $KCODE #=> UTF8
#!/usr/local/bin/ruby -Kn
puts $KCODE #=> NONE
関連ページ
- Ruby
- Ruby_よく使うのに忘れてしまう基本文法の備忘録
- Rubyのクラスについて
- Rubyのモジュールについて
- Rubyの例外処理について
- RubyのKCODEについて
- Rubyの__send__について
- Rubyのyieldについて