将 UTF-8 设置为 Heroku 中的默认字符串编码
我需要在 Heroku 中将默认的 ruby 字符串编码更改为 UTF-8。由于某种原因它是 US-ASCII。
$ heroku console Ruby console for myapp.heroku.com >> "a".encoding => #<Encoding:ASCII-8BIT>
但是,如果我在本地运行 irb,则会得到不同的结果:
$ irb ruby-1.9.2-p136 :001 > "a".encoding => #<Encoding:UTF-8>
两者都在 ruby 1.9.2 上运行。我也尝试过设置它,但没有用:
Encoding.default_internal = Encoding.default_external = "UTF-8"
有想法吗?
谢谢, 费利佩
I need to change the default ruby string encoding to UTF-8 in Heroku. For some reason it is US-ASCII.
$ heroku console Ruby console for myapp.heroku.com >> "a".encoding => #<Encoding:ASCII-8BIT>
However, if I run irb locally I get a different result:
$ irb ruby-1.9.2-p136 :001 > "a".encoding => #<Encoding:UTF-8>
Both run on ruby 1.9.2. I've tried setting this as well, but didn't work:
Encoding.default_internal = Encoding.default_external = "UTF-8"
Ideas?
Thanks,
Felipe
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
根据 Heroku 支持人员的说法,这是一件神奇的事情:
虽然
heroku console
将继续将字符串编码报告为ASCII-8BIT
,但您的实际应用程序将以正确的编码运行,基于LANG
配置变量。您可以通过执行以下操作来仔细检查:
As per the Heroku support staff, this is the magic thing:
Although
heroku console
will keep reporting strings encoding asASCII-8BIT
, your actuall app will be running with the correct encoding, based on theLANG
config var.You can double check that by doing this: