【发布时间】:2014-11-17 13:15:10
【问题描述】:
我正在使用带有 rails 4 和 ruby 2.0 的 Devise,数据库是 MySQL Ver 14.14 Distrib 5.5.38。当用户使用“Мукеш”(Mukesh 的俄语)之类的名称注册时,我收到如下错误
Mysql2::Error: 字符串值不正确
我尝试通过 MySQL Workbench 编辑数据库并且它正在工作,但是 rails 在显示该数据时显示问号。
如何告诉 ORM/Rails/Devise 接受 Unicode 字符?如果需要更多详细信息,请告诉我
提前致谢,
【问题讨论】:
-
您是否尝试将编码添加到 database.yml
encoding: utf8 -
还可以尝试将
config.encoding = "utf-8"添加到您的application.rb -
我在 database.yml 中有 utf8 编码。我应该指定什么编码?
-
还有一件事,MySQL工作台没有报错,但是那里的数据显示为“????”。这是否意味着我的 MySQL 配置未设置为接受 unicode 字符??
-
SHOW VARIABLES LIKE 'character\_set\_%';找到您的默认编码并将其更改为 utf-8(如果还没有的话)。唯一的缺点是你会丢失 mysql 5.6 全文搜索,我猜你可能不需要 users 表
标签: mysql ruby-on-rails ruby devise rails-activerecord