ruby中解决mysql中文输入编码问题的简单方法。

时间:2022-06-01 16:48:55

在ruby 用ActiveRecord写mysql的时候,想向表中输入中文字符,一直遇到如下的问题,

.rvm/gems/ruby-2.1.2/gems/activerecord-4.1.1/lib/active_record/connection_adapters/mysql_adapter.rb:497:in `execute': Mysql::Error: Incorrect string value: '\xE4\xBD\x8F\xE5\x93\xAA...' for column 'keyword' at row 1: INSERT INTO `relate_worlds` (`keyword`) VALUES (?) (ActiveRecord::StatementInvalid)

突然想到之前在一个地方看到过如下的代码,说不定为该数据库设置一遍编码可以解决,便尝试了一下,结果真的解决了!

mysql> create table relate_worlds(id int auto_increment, keyword varchar(30) not null unique, primary key(id) )engine=innodb default charset=utf8 auto_increment=1;