如何将html编码字符更改为ascii字符

时间:2011-12-08 05:23:54

标签: ruby-on-rails ruby ruby-on-rails-3 encoding utf-8

我有一个法语字符编码如下:

“何\ xE9e”

我需要将其转换为常规字符,因为它会在我的服务器上产生此错误:

UTF-8中无效的字节序列

我该怎么做才能解决此错误?

Rails 3 Ruby 1.9.2

3 个答案:

答案 0 :(得分:4)

看起来像{Josée'编码在ISO 8859-1(AKA Latin-1)中。您可以使用Iconv将其转换为UTF-8:

require 'iconv'
utf_string = Iconv.conv('UTF-8', 'ISO-8859-1', "Jos\xE9e")

答案 1 :(得分:3)

使用编辑器支持utf-8,并在所有源文件的顶部添加编码行:

# coding: utf-8

如果某些输入字符串不是utf-8,请在处理前将其转换为utf-8:

input_str = "Jos\xE9e"
utf_input = input_str.force_encoding('iso-8859-1').encode('utf-8')

以上所有仅在ruby 1.9下工作。有关更多信息,请查看本书:Ruby Best Practices。

答案 2 :(得分:0)

您应该在所有源代码中使用utf8,如何以utf-8编码保存文件

相关问题