我在使用 UTF-8 字符时遇到一些问题。这是 db/seeds.rb
User.create(username: 'eml', first_name: '****', last_name: '****äck',
email: '[email protected] /cdn-cgi/l/email-protection', password: 'asdasd')
我的终端(OSX 10.5.8)设置为使用UTF-8,Rails(根据application.rb)设置为使用utf-8。这是错误:
$ rake db:seed
rake aborted!
/Projects/***/db/seeds.rb:8: invalid multibyte char (US-ASCII)
/Projects/***/db/seeds.rb:8: invalid multibyte char (US-ASCII)
/Projects/***/db/seeds.rb:8: syntax error, unexpected $end, expecting ')'
...ame: '****', last_name: '****äck',
... ^
Tasks: TOP => db:seed
(See full trace by running task with --trace)
添加这一行# encoding: utf-8
在...上面seeds.rb
文件和任何 ruby 文件都使用特殊字符
我建议你添加Encoding.default_external = "UTF-8"
to config.ru
文件并在config/environment.rb
用于编码模板
最后你可以添加"".force_encoding('UTF-8)
给你的字符串带来问题。
Update :
在 config.ru 上添加整行:
# Not override -E option or LANG and apply only for ruby > 1.9
if Object.const_defined?(:Encoding) && !ENV['LANG'] && !ENV['RUBYOPT'].include?('-E')
Encoding.default_internal = 'utf-8'
Encoding.default_external = 'utf-8'
end
Source https://github.com/middleman/middleman/issues/483
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)