mysql - rails : "Mysql2::Error: Incorrect string value:" when trying to save "params.inspect"

标签 mysql ruby-on-rails ruby encoding character-encoding

我正在尝试将 params 的输出保存到数据库中(我正在保存这个:params.inspect)- 这是应该保存的字符串的示例:

> {\"utf8\"=>\"✓\", \"_method\"=>\"patch\", \"authenticity_token\"=>\"fpQC8FY8+qztD41jjcFSJRars539KRshw/vczmmJd9Q=\",
> \"car\"=>{\"role_type\"=>\"1\", \"admin_id\"=>\"67\",
> \"branch_id\"=>\"1\", \"template_id\"=>\"21\", \"cost\"=>\"0.00\",
> \"carrier_additional_cost\"=>\"0.00\", ...

首先,我尝试像这样保存参数:

all_params      = params.except(:controller, :action).inspect

但是没有成功。所以:

all_params      = params.except(:controller, :action).inspect.encode("iso-8859-1")

还有这个:

all_params      = params.except(:controller, :action).inspect.encode("iso-8859-1").force_encoding("utf-8")

返回相同的错误。

如何正确保存 params.inspect 的输出?

我尝试保存此数据的列是 text,而不是 string

谢谢

最佳答案

尝试使用 params 而不是 params.inspect

params 的示例输出是
{"controller"=>"users", "action"=>"show", "id"=>"1"}
这是一个散列,我认为它是您想要保存在数据库中的内容。

关于mysql - rails : "Mysql2::Error: Incorrect string value:" when trying to save "params.inspect",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36704946/

相关文章:

mysql - 空间索引可以用于连接mysql吗?

php - 每行中的编辑按钮应根据设备名称执行代码

ruby-on-rails - 如何在 Mac 上已创建的 Rails 应用程序中安装 postgresql?

ruby-on-rails - 如何在 heroku Elastic Cloud、Elastic Search 5.x 上进行身份验证?

mysql - 如何在 Mysql 中优化我的代码?

mysql - 有正确的方法连接到MySQL吗?

ruby-on-rails - Heroku 上的回形针?

ruby-on-rails - 复选框项目未保存(simple_form)

ruby - 干净地将 {"key"=> ["val1", "val2"]} 哈希转换为 {"key"=> "val1", "key"=> "val2"} 在 Ruby/Rails 中的哈希

ruby - ruby 中的自定义日期时间格式?