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
とすることでマジコメなしでいけそう)