中关村村草 发表于 2011-09-22 15:41

直接使用ruby(非rails) utf-8 编码 链接 mysql

直接使用ruby(非rails) utf-8 编码 链接 mysql

一般情况使用 ruby 直接链接 mysql ,默认编码则是 latin1

Ruby代码
require "mysql"

db = Mysql.new("localhost","username","password","database")
puts db.character_set_name
#output
#latin1
如果mysql数据库编码是 utf-8 的话,通过上面代码插入的数据后,从mysql 客户端看到是乱码

问题很好解决,设置 ruby 客户端编码为 utf-8 就行了

Ruby代码
require "mysql"

db = Mysql.init
db.options(Mysql::SET_CHARSET_NAME,"utf8")
db.real_connect("localhost","username","password","database")
puts db.character_set_name
#output
#utf8

zhlong8 发表于 2011-09-22 17:29

这个可以加入索引

2gua 发表于 2011-09-22 20:45

:victory:村艹持之以恒捏。

瀚海书香 发表于 2011-10-14 13:50

回复 1# 中关村村草
这个方法可行。
不过直接mysql.query("set names utf-8")应该也行吧

2gua 发表于 2011-10-17 16:05

回复中关村村草
这个方法可行。
不过直接mysql.query("set names utf-8")应该也行吧
瀚海书香 发表于 2011-10-14 13:50 http://bbs.chinaunix.net/images/common/back.gif


    这个是常规做法了,哈哈,你咋有空来本版看看了?难得啊,欢迎常来...

瀚海书香 发表于 2011-10-17 16:24

回复 5# 2gua
最近有个项目为了提高开发效率,决定用ruby实现,所以这几天关注一下ruby论坛。:mrgreen:

2gua 发表于 2011-10-17 16:43

回复2gua
最近有个项目为了提高开发效率,决定用ruby实现,所以这几天关注一下ruby论坛。
瀚海书香 发表于 2011-10-17 16:24 http://bbs.chinaunix.net/images/common/back.gif


    好,常来啊。

coolesting 发表于 2011-10-17 18:08

以习惯了orm :em03::em03:

2gua 发表于 2011-10-18 19:38

回复 8# coolesting


    发点感想吧?

coolesting 发表于 2011-10-20 10:53

回复coolesting


    发点感想吧?
2gua 发表于 2011-10-18 19:38 http://bbs.chinaunix.net/images/common/back.gif


    ORM封装好所有的设置, 不用自己一个个调,
    例如我现在用的是mysql, 要设置utf8, 但一会用sqlite又要设置一次字符编码, 如果用pg又要一次,
    而且不同的数据配置器设置方法也不同, 用ORM就不用顾虑这样了。
页: [1]
查看完整版本: 直接使用ruby(非rails) utf-8 编码 链接 mysql