2014年2月19日水曜日

rake db:seedで文字コード(UTF-8)のエラーが発生する

文字コードエラー

Railsでrake db:seedを行った際に、以下のエラーが発生しました。
$ rake db:seed 
rake aborted! 
/Users/user/test_app/db/seeds.rb:15: invalid multibyte char (UTF-8) 
/Users/user/test_app/db/seeds.rb:15: invalid multibyte char (UTF-8) 
/Users/user/test_app/db/seeds.rb:15: syntax error, unexpected end-of-input, expecting '}' 
    name: 'oVAK', 
               ^
文字コードの指定はしているのですが、エンコードできていないらしくinvalid multibyte char (UTF-8)と言われてしまいます。解決策を調べたところこちらの以下の内容で解決することができました。

解決策

まず最初に「nkf」をbrew install。nkfは文字コードを変換することができます。JIS、EUC-JP、Shift-JIS、UTF-8などをかなり簡単に変換できます。
 $ brew install nkf
==> Downloading http://dl.sourceforge.jp/nkf/59912/nkf-2.1.3.tar.gz
######################################################################## 100.0%
==> make CC=clang
==> make install prefix=/usr/local/Cellar/nkf/2.1.3 MKDIR=mkdir -p
🍺  /usr/local/Cellar/nkf/2.1.3: 4 files, 348K, built in 5 seconds

次にインストールしたnkfを用いてseeds.rbを変換します。
$ nkf -w --overwrite seeds.rb
以上でseeds.rbがUTF-8に変換されました。再度rake db:seedを行うと問題なく通るはずです。


  • この記事をシェアする

  • このエントリーをはてなブックマークに追加
  • このブログの更新をチェックする

  • follow us in feedly