在我的rails应用程序中,我正在使用来自世界各地的RSS源,有些源有UTF-8中没有的链接.原始的提要链接不在我的控制范围内,为了在应用程序的其他部分使用它们,它们需要在UTF-8中.

如何检测编码并转换为UTF-8?

推荐答案

Ruby 1.9

"强制"编码很容易,但仅更改编码不会转换字符:

str = str.force_encoding('UTF-8')

str.encoding.name # => 'UTF-8'

如果要执行转换,请使用encode:

begin
  str.encode("UTF-8")
rescue Encoding::UndefinedConversionError
  # ...
end

I would definitely read the following post for more information:
http://graysoftinc.com/character-encodings/ruby-19s-string

Ruby-on-rails相关问答推荐

使用RubyZip处理大型压缩文件:65535个文件的限制

使用Rails和RSpec,有没有办法查看操作真正将您带到哪个页面?

我的 Ruby on Rails Web API 的 Docker 映像未在服务器上构建,因为它未与 ruby​​gems.org 连接

Sweet Alert 2 在 Rails 7 应用程序中无法正常工作

Rails - 如何从模型中查询 has_many

在 Datatable Ajax 调用中通过 Ajax 更新 div

Ruby on Rails 有没有好的管理生成器?

ruby on rails 和 javascript 之间的时间转换反之亦然?

Devise + Omniauth - 如何传递额外的参数?

Ruby 地理定位Ruby /插件

在 Rails 3.2 中更新多行

使用 rails 3.1.0 和 ubuntu 安装 Nokogiri 1.5.0 时出错

从控制器中删除 Cookie

将 defer 属性添加到 javascript_include_tag Rails

如何将 yaml 文件解析为 ruby​​ 哈希和/或数组?

如何在 Rails ActiveRecord 中指定日期小于今天的条件

Active Record has_many:通过删除一条关联记录

以最Ruby 风格计算 ActiveSupport:TimeWithZone 天数的差异?

Heroku - 在浏览器中显示当前提交的哈希

Rails:为什么 with_exclusive_scope 受保护?关于如何使用它的任何好的做法?