Fra*_*cob 6 oracle ruby-on-rails utf-8
我收到错误incompatible character encodings: UTF-8 and ASCII-8BIT,当数据库中的视图发现一些字符,如:ñ,á,é等.
我的环境是:
我可以使用Toad将这些字符保存在数据库中.
我试图在我的观点的第一行写这个:
<% # encoding: utf-8 %>
Run Code Online (Sandbox Code Playgroud)
在 enviroment.erb
Encoding.default_external = Encoding::UTF_8
Encoding.default_internal = Encoding::UTF_8
Run Code Online (Sandbox Code Playgroud)
但没有解决这个问题.
请,有人可以给一些建议来解决这个问题.
谢谢.
小智 6
我有同样的问题,经过数小时的猴子补丁搜索,我解决了这个问题.
module ActiveSupport #:nodoc:
class SafeBuffer < String
def safe_concat(value)
value = force_utf8_encoding(value)
raise SafeConcatError unless html_safe?
original_concat(value)
end
def concat(value)
value = force_utf8_encoding(value)
if !html_safe? || value.html_safe?
super(value)
else
super(ERB::Util.h(value))
end
end
alias << concat
private
def force_utf8_encoding(value)
self.force_encoding('UTF-8').html_safe unless self.encoding.name == 'UTF-8'
value = (value).force_encoding('UTF-8').html_safe unless value.nil? || value.encoding.name == 'UTF-8'
value
end
end
end
Run Code Online (Sandbox Code Playgroud)
在文件中boot.rb,我添加了这一行:
ENV['NLS_LANG'] = 'AMERICAN_AMERICA.UTF8'
Run Code Online (Sandbox Code Playgroud)
这我解决了我的问题。
| 归档时间: |
|
| 查看次数: |
6845 次 |
| 最近记录: |