最近在做公司專案的 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 條回應
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/
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
tsechingho
3樓, 於回應
看來還是得乖乖加 # -*- encoding : utf-8 -*-
到每個有中文的檔案。
還好我 i18n 有乖乖做,就沒那麼多要加。