トップ «前の日記(2013-03-07) 最新 次の日記(2013-04-02)» 編集

Route 477



2013-04-01

[ruby] RubyでUTF8-MACをUTF-8に直す

プレビュー.appからMacVimにコピペしたら、「はじめに」が「はし゛めに」みたいになってしまって困ったので、 Rubyのワンライナで直してみた。

$ ruby -e 'print File.read(ARGV[0], encoding: "utf8-mac").encode("utf-8")' a.txt > b.txt

Ruby(>= 1.9)便利。

[ruby] RubyでMagic commentが必要なファイルを列挙する

Ruby 2.0からスクリプトエンコーディングのデフォルトがUTF-8になったので、文字列リテラルに日本語を使うときもマジックコメントを書かなくて良くなりました。

…というのは嬉しい変更なんですが、そうすると今度は「手元のRuby 2.0では動いてるけど、サーバのRuby 1.9.3で動かしたらinvalid multibyte char (US-ASCII)」みたいな事例が想像できるわけです。

ということで、rubyの-cオプションを使ってマジコメが必要なファイルを列挙するコマンドを書いておきます。ruby -cは、プログラムを実行せずパースチェックだけをするオプションです。

$ for a in **/*.rb; ruby -c $a

(追記:サーバ側で環境変数を設定できるシチュエーションなら、

$ RUBYOPT="-U" bundle exec rails server

とすることでマジコメなしでいけそう)