19e786a2a74377ff6e052d87fd8d1fa8

magic_encoding 為你的 Ruby 1.9 自動加上 utf-8 標記

xditeGem 節點 中發起
最後由 tsechingho回應 , 1365次閱讀

最近在做公司專案的 REE => Ruby 1.9.2 改版。

Ruby 1.9.2 相當敏感,導致 Rails 內只要沾到一點中文 code ,忘記宣告就會噴錯誤。引用的外部 Gem 有中文字也會爛掉。

這種問題抓不勝抓,當然最快的方式就是為所有的 .rb 裡面寫上

# -*- encoding : utf-8 -*-

當然這個動作也需要對 shell script 有點熟悉的人才做的到。
所以有人就寫了這個 gem

只要在 project 下

~/projects/demo/ > magic_encoding

就會自動為所有的檔案自動加入 utf-8 comment

截至 ,共收到 3 條回應
61b55110e7f363bff43bcab8789930fb
tsechingho 1樓, 於回應

依稀記得在 RAILS_ROOT/config/environment.rb 加入 Encoding.default_internal = 'UTF-8',就可以不必每個檔案都加 # -*- encoding : utf-8 -*-

http://yehudakatz.com/2010/05/05/ruby-1-9-encodings-a-primer-and-the-solution-for-rails/

61b55110e7f363bff43bcab8789930fb
tsechingho 2樓, 於回應

另外 yehuda 相關的 encoding 文章也值得看一下:
http://yehudakatz.com/2010/05/17/encodings-unabridged/

還有 Linux 系統的 locale 有可能也要注意一下。
http://blog.kennejima.com/post/835166063/making-ruby-1-9-rails-2-3-to-play-nice-with-utf-8

61b55110e7f363bff43bcab8789930fb
tsechingho 3樓, 於回應

看來還是得乖乖加 # -*- encoding : utf-8 -*- 到每個有中文的檔案。
還好我 i18n 有乖乖做,就沒那麼多要加。

需要 登入 後方可回應,如果你還沒有帳號按這裡 註冊