小编Ado*_*les的帖子

错误'不兼容的字符编码:ASCII-8BIT和UTF-8'由于8位编码的cookie(Rails 3和Ruby 1.9)

我移动了一个使用1.8.7到1.9.2的网络应用程序,现在我不断获取

incompatible character encodings: ASCII-8BIT and UTF-8
Run Code Online (Sandbox Code Playgroud)

我的数据库编码为UTF-8,我也有'config.encoding ="utf-8"'.

我看到一些想法可能的解决方法,我补充说

Encoding.default_external = Encoding::UTF_8
Encoding.default_internal = Encoding::UTF_8
Run Code Online (Sandbox Code Playgroud)

但它也没有用.

我收到此错误的一个特定代码块是

%ul.address
- @user.address.split(',').each do |line|
  %li= line.titleize
Run Code Online (Sandbox Code Playgroud)

我正在使用HAML,我检查了line.titleize,编码是UTF-8.似乎模板是用ASCII-8BIT渲染的,每当我尝试渲染像'ñ'这样的字符时它就会被搞砸

我正在使用Rails 3.0.5.

我读过詹姆斯爱德华格雷的帖子,但我仍然可以弄明白发生了什么;(.

我真的很感激任何帮助:D.

我也尝试过:

"string".force_encoding("UTF-8")
Run Code Online (Sandbox Code Playgroud)

# encoding: utf-8
Run Code Online (Sandbox Code Playgroud)

没有运气.

固定


看评论.

ruby haml ruby-on-rails ruby-on-rails-3 ruby-1.9

8
推荐指数
1
解决办法
1万
查看次数

标签 统计

haml ×1

ruby ×1

ruby-1.9 ×1

ruby-on-rails ×1

ruby-on-rails-3 ×1