プログラムの文字コードを指定する

Ruby のプログラムで使用している文字コードを指定するにはプログラムの 1 行目にマジックコメントと呼ばれる形式を使って文字コードを指定します。ここでは Ruby でプログラムの文字コードを指定する方法について解説します。

(2022 年 10 月 13 日公開 / 2022 年 10 月 13 日更新)

プログラムの文字コードを指定する

以前はグローバル変数の $KCODE を使用して文字コードを設定していましたが、現在は $KCODE は廃止されています。代わりにプログラムの文字コードを指定するにはマジックコメントをプログラムの 1 行目に記述します。

マジックコメントの書式は次の通りです。

# coding: 文字コード

例えば次のように記述します。

# coding: utf-8
# coding: euc-jp
# coding: Shift_JIS
# coding: us-ascii

プログラムを UTF-8 で記述している場合は、プログラムの 1 行目に # coding: utf-8 と記述してください。

またマジックコメントは次のように記述することもできます。いずれの記述方法でも文字コードを指定することができます。

# coding: utf-8
# encoding: utf-8
# -*- coding: utf-8 -*-
# vim:set fileencoding=utf-8:
サンプルコード

実際に試してみます。

# encoding: Shift_JIS
p __ENCODING__

実行結果は次のようになります。

プログラムの文字コードを指定する

マジックコメントを使ってプログラムの文字コードを Shit_JIS に設定したあとで p __ENCODING__ を使って現在設定されている文字コードを取得し表示しました。

デフォルトの文字コード

Ruby 2.0 以降はプログラムで使用されるデフォルトの文字コードが UTF-8 に設定されています。そのため、プログラムの文字コードで UTF-8 を使用する場合は明示的にマジックコードを記述しなくても構いません。

サンプルコード

実際に試してみます。

p __ENCODING__

実行結果は次のようになります。

デフォルトの文字コード

マジックコメントを記述せずに現在設定されている文字コードを取得したところ UTF-8 と表示されました。なお UTF-8 を使用している場合でも明示的にマジックコードを記述しても構いません。

-- --

Ruby でプログラムの文字コードを指定する方法について解説しました。

( Written by Tatsuo Ikura )

広告
Profile
profile_img

著者 / TATSUO IKURA

初心者~中級者の方を対象としたプログラミング方法や開発環境の構築の解説を行うサイトの運営を行っています。