標籤:

在 Rails 文件中,必須要加入「# encoding: utf-8」才能解決中文問題。怎樣做可以全局添加,而不用每個文件都做一遍?

如果不添加就會報錯:invalid multibyte char (US-ASCII) 錯誤


gem install magic_encoding

cd ~/xxxx

magic_encoding


Ruby 1.8及之前的版本

在程序執行前加入 $KCODE=UTF8

或者在命令行下 用 ruby -KUTF8


ruby 1.9的話必須每個文件頭上都要加的吧?


我在開發集郵冊(http://jiyouce.com)時,源碼文件默認的編碼就是utf-8,

也就沒遇到過中文亂碼的問題。

在網上搜了下,提到的最簡單的解決辦法就是:

在environment.rb中添加Encoding.default_internal="UTF-8"

抱歉我自己沒有測試,另外可以參考http://314858770.iteye.com/blog/687978


我在實際中用過rails 3.0以前的版本,貌似根本不用加,你要是說ruby,那可能需要……


用Emacs,會自動加上。


自己都能寫個小命令,首先grep看是否存在,然後sed替換一下就行了


1.9開始需要這麼做,話說python一直需要的,腳本語言就是應該這樣


原來也有這個問題,但是後來習慣了,寫一個文件就會加上一個,感覺不是太麻煩。你想要的不知道是不是這個gems:http://ruby-taiwan.org/topics/104

叫做magic-encoding,看到@xdite推薦的。


就像你在源文件寫版權一樣,每個文件都加一下也未必不是好習慣。


使用ruby1.9的話,如果ruby源文件中有中文,需要在.rb文件的第一行添加#coding: utf-8


推薦閱讀:

Ruby 語言有哪些缺陷?
用 Ruby 做的成功商業網站少是什麼原因?
值得看的ruby的開源項目有哪些?
從零開始學習 Ruby,該如何做?
有哪些 Ruby 大牛的 Blog 推薦?

TAG:RubyonRails |