Ruby   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ruby-on-rails – 为什么升级到Rails 3后所有字符串都是ASCII-8BIT?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我升级到RoR 3.0.1和Ruby升级到1.9.2.现在我视图中的所有字符串都是ASCII-8BIT?

我相信我的应用程序设置为使用UTF 8

application.rb中

config.encoding = "utf-8"

database.yml的

development:
  adapter: mysql
  encoding: utf8

我在跑

OS X
RVM rvm 1.0.16 
Ruby ruby-1.9.2-p0
Rails 3.0.1

我希望编码是UTF 8而不是ASCII

business.desc.encoding
# ASCII-8BIT

由于1.9.x可以连接不同编码的字符串,我们会看到很多这样的错误.

<p class="description"><%= truncate(business.desc,:length => 17) %></p>

错误

incompatible character encodings: ASCII-8BIT and UTF-8

activesupport (3.0.1) lib/active_support/core_ext/String/output_safety.rb:74:in `concat'
activesupport (3.0.1) lib/active_support/core_ext/String/output_safety.rb:74:in `concat'
actionpack (3.0.1) lib/action_view/template/handlers/erb.rb:14:in `<<'
app/views/browse/businesses.html.erb:15:in `block in _app_views_browse_businesses_html_erb___1616718260917998189_2173630500__1134905695726531092'
app/views/browse/businesses.html.erb:3:in `each'
app/views/browse/businesses.html.erb:3:in `each_with_index'
app/views/browse/businesses.html.erb:3:in `_app_views_browse_businesses_html_erb___1616718260917998189_2173630500__1134905695726531092'

还有其他人有这个问题吗? ruby-1.9.2-p0是否使用正确的版本?

谢谢!

解决方法

@H_801_35@ 您需要将其添加到每个.rb文件:
<% # coding: UTF-8 %>

我使用gem magic_encoding.

$cd app/ 
$magic_encoding

默认值为UTF-8,但您可以指定任何您想要的参数.

大佬总结

以上是大佬教程为你收集整理的ruby-on-rails – 为什么升级到Rails 3后所有字符串都是ASCII-8BIT?全部内容,希望文章能够帮你解决ruby-on-rails – 为什么升级到Rails 3后所有字符串都是ASCII-8BIT?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。