【问题标题】:Ruby Mysql cannot insert special characterRuby Mysql 无法插入特殊字符
【发布时间】:2012-10-17 00:42:52
【问题描述】:

使用 ruby​​ 的 mysql gem,我将一个新行插入到具有编码 utf8_spanish_ci 的表中。

这是我正在执行的代码

require 'mysql'
con = Mysql.new(#connecionparameters)
rs = con.query("INSERT INTO `qubi_horoscopo`.`signos` (`name`) VALUES ('acción')")

当我查询表时,我得到以下结果:

身份证名称

1 记事

我已经检查过我在数据库、表和列中使用了相同的排序规则。 所以我不知道出了什么问题。

有什么想法吗?谢谢!

【问题讨论】:

  • 您的数据库配置的字符编码是什么?在我看来,UTF-8 字节被解释为 ISO-8859 编码。
  • 数据库配置了utf8_spanish_ci
  • Ruby 代码使用什么编码?
  • 我在文件开头插入了#encoding: utf-8。

标签: mysql ruby encoding


【解决方案1】:

我已经解决了这个执行

con.query("SET NAMES UTF8")

就在我的插入查询之前。

我希望这对遇到同样问题的人有所帮助。我不知道这是否是最好的解决方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-05-12
    • 2012-04-25
    • 2014-11-17
    • 2020-03-13
    • 2016-04-16
    • 2016-11-24
    • 2020-08-30
    • 1970-01-01
    相关资源
    最近更新 更多