【问题标题】:Encoding::UndefinedConversionError ("\xE2" from ASCII-8BIT to UTF-8): with Rails 4.1 & mysql BLOB datatypeEncoding::UndefinedConversionError ("\xE2" from ASCII-8BIT to UTF-8): with Rails 4.1 & mysql BLOB datatype
【发布时间】:2014-10-15 13:05:03
【问题描述】:

我正在使用 rails 4.1 和 mysql。

在一个列的数据库表中,我有一个 blob 数据类型,其中我正在保存新闻论文文章,但是在获取所有索引操作时,我遇到了错误。

Encoding::UndefinedConversionError ("\xE2" 从 ASCII-8BIT 到 UTF-8):

我在网上尝试了很多解决方案,但都无法解决问题。

* before_save { self.article = article.encode('utf-8', :invalid => :replace, :undef => :replace, :replace => '_')}* 等等。

非常感谢您的帮助..谢谢

【问题讨论】:

  • 如果数据是文本,为什么要使用 blob 列?
  • 我想存储大量数据,比如 5000 个单词,而我无法使用 text 数据类型。
  • 嗨,弗雷德里克,感谢您提问“为什么?”:)

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


【解决方案1】:

仅供参考 .. 解决了我将数据类型从 BLOB 更改为 TEXT 并且它有效。

BLOB 值被视为二进制字符串(字节字符串)。他们没有 字符集,排序和比较是基于数字的 列值中字节的值。 TEXT 值被视为 非二进制字符串(字符串)。他们有一个字符集,并且 根据字符的排序规则对值进行排序和比较 设置。

The BLOB and TEXT Types

【讨论】:

    猜你喜欢
    • 2021-05-19
    • 2015-08-10
    • 2015-09-18
    • 1970-01-01
    • 1970-01-01
    • 2017-04-20
    • 2012-09-14
    • 2020-07-19
    • 1970-01-01
    相关资源
    最近更新 更多