Ruby on rails Rails:在使用ActiveRecord和TinyTDS时,尝试将特殊字符保存到数据库时出错
我正在尝试使用ActiveRecord将这个字符“É”作为字符串的一部分保存到使用TinyTDS的sql server。你知道我需要做什么来消除下面的错误吗Ruby on rails Rails:在使用ActiveRecord和TinyTDS时,尝试将特殊字符保存到数据库时出错,ruby-on-rails,parsing,character-encoding,rails-activerecord,Ruby On Rails,Parsing,Character Encoding,Rails Activerecord,我正在尝试使用ActiveRecord将这个字符“É”作为字符串的一部分保存到使用TinyTDS的sql server。你知道我需要做什么来消除下面的错误吗 Exiting /var/lib/gems/1.9.1/gems/activerecord-sqlserver-adapter-3.2.10/lib/active_record/connection_adapters/sqlserver/database_statements.rb:387:in `execute': TinyTds::Er
Exiting
/var/lib/gems/1.9.1/gems/activerecord-sqlserver-adapter-3.2.10/lib/active_record/connection_adapters/sqlserver/database_statements.rb:387:in `execute': TinyTds::Error: Error converting characters into server's character set. Some character(s) could not be converted
我认为它出错的字符串如下:JEREMÉ
下面是我用来解析文件的代码
csv = CSV.parse(csv_text, :headers=>false, encoding: "UTF-8")
csv.drop(2).each do |row|
person = Person.new(:lastname => row[0], :firstname => row[1])
playerstats.save
end
这将使您的字符串数据库感到高兴
value = value.force_encoding('ISO-8859-1').encode('UTF-8')