所以我有一些存储在Mongoid模型中的Unicode(阿拉伯语)文本数据,我想将它插入到mysql数据库中。我不得不使用gsub来逃避单引号,因为这会导致SQL插入错误。
text = model.text.squish().gsub("'", %q(\\\'))
db_con.query("insert into table (text) values ('#{text}')")
现在我的问题是当我在phpmyadmin查看数据时,我看到了
آيÙÙ...... ..Ù...ٔايينآهÙاتÙتÙدع”Ùاتساب“ Ù“U“Ø£OO
我尝试添加force_encoding('UTF-8')
,但这并未改变任何内容,我也尝试使用str.dump
进行转义但在phpmyadmin中查看时将数据转换为Unicode {243}等Unicode代码点。如何解决这个问题。
答案 0 :(得分:0)
通过在插入“SET CHARACTER SET'UTF8'”
之前执行此查询来修复它text = model.text.squish().gsub("'", %q(\\\'))
db_con.query("SET CHARACTER SET 'UTF8'")
db_con.query("insert into table (text) values ('#{text}')")