ページ

2011年5月27日金曜日

Ruby1.9でスクリプト上にエンコーディングを指定する方法

Ruby1.9では、スクリプトの先頭にエンコーディングを指定することができる。
例えば、下記のスクリプトはShift-JISとして実行される。


# coding: sjis
puts "こんにちは"


このコメントはASCIIだけで書く必要がある。
また、次の位置に任意の文字列を含めることができる。

  • codingの前
  • エンコーディング名の後

また、コロンの代わりにイコールを使用することができる。
これらを利用すると、エンコーディングは下記のように指定することもできる。


# -*- coding: utf-8 -*-


# vi: set fileencoding=utf-8 :


通常、エンコーディングの指定は1行目である必要があるが、
先頭業がshebangコメントになっている場合は例外で、
エンコーディングを2行目に指定することができる。


#!/usr/bin/ruby -w
# coding: utf-8


参考文献:プログラミング言語 Ruby