【发布时间】:2015-05-18 23:27:10
【问题描述】:
我有一组可以访问我的 MySQL 数据库的 ruby 脚本。我需要修改此数据库的字符集,特别是将表从 Latin1 更改为 UTF8。我需要修改我的脚本吗?我看过了,我发现我可以为连接设置字符集,这是强制性的吗?
我认为不需要进行任何调整的部分犹豫是数据库今天的设置。查看如何设置字符集:
mysql> SHOW VARIABLES LIKE "%char%";
+--------------------------+-------------------------------------------+
| Variable_name | Value |
+--------------------------+-------------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /rdsdbbin/mysql-5.6.21.R1/share/charsets/ |
+--------------------------+-------------------------------------------+
这是否表明客户端已经设置为使用 UTF8 字符集?
【问题讨论】:
-
你使用哪个库/gem来连接mysql?
-
您是否验证过您的表中的数据是 utf8 编码的?
SELECT HEX(...)。我的观点是,如果你的表中有垃圾,修复 Ruby 只是你痛苦的一部分。