Rails 数据库编码的一点问题

Fighting_3 · 2017年06月08日 · 最后由 jasl 回复于 2017年06月09日 · 1266 次阅读

我在本地 development 环境运行没有问题的,上传到服务器,一旦添加中文字符到数据库,就报错,我看了 log,说是插入 string 的时候出错,于是乎度娘搞了一阵,把数据库的字符集都设置成了如下

mysql> SHOW VARIABLES LIKE 'char%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

但是仍然不行。。。还是报一样的错,有点揪心。(注:项目是 root 用户部署上去的,后来主管弄了下权限,给我分了一个 master 用户,我是在这个用户下修改的 mysql 字符集,这个会影响吗?)

应该把报错贴出来,编码问题与权限扯不上关系吧。

wewin11235 回复

谢谢啊,是和权限没什么关系,是因为我虽然改了默认的编码,但是我之前已经创建的数据库仍然是老的编码,我把数据库重建就好了。

最好一步到位 utf8mb4 否则遇到 emoji 还是会吃瘪

Fighting_3 关闭了讨论。 12月27日 16:10
需要 登录 后方可回复, 如果你还没有账号请 注册新账号