开发者社区> 问答> 正文

emoji表情乱码

RDS版本是5.6的,字符集也选择utf8mb4,emoji表情用DMS可以存储,但在PHP中存入和读出的就是乱码
我用自己服务器上5.6版本的MySQL是正常的,切到RDS就乱码。
我想尝试将CHARSET改成utf8mb4,但连接报错PHP Can't initialize character set utf8mb4 ,没能调通,求助!

展开
收起
meetmusic 2015-05-11 12:31:31 11209 0
7 条回答
写回答
取消 提交回答
  • Reemoji表情乱码
    我在控制台使用set character_set_server=utf8mb4;命令修改了编码,也用show varibales;查看修改了。可是切换到RDS的管理控制台中的系统参数那里查看,还是utf8啊。

    -------------------------

    回 7楼simdm的帖子
    鼠标移动到运行时列,然后点击那个utf8上面,就有修改按钮了。
    2016-04-05 22:38:55
    赞同 展开评论 打赏
  • 回6楼tommyhuang的帖子
    第4那块,参数设置为utf8mb4怎么改的,我这怎么没有修改按钮呀
    2015-10-04 09:07:27
    赞同 展开评论 打赏
  • Reemoji表情乱码
    1.创建数据库时选择utf8mb4,或者在参数设置中直接修改

    2.emoji的字段要设置成utf8mb4格式,如:
    ALTER TABLE t_user_basic MODIFY COLUMN nick_name VARCHAR(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '昵称';

    3.设置character_set_server为utf8mb4

    4.若是java,mysql连接jar,要升级到大于5.1.30的,如:mysql-connector-java-5.1.35.jar






    2015-08-21 17:34:55
    赞同 展开评论 打赏
  • Reemoji表情乱码
    我的还没搞好,始终报这个错Incorrect string value: '\xF0\x9F\x98\x84' for column ',如果高手可以解决,加我的QQ 1871017619
    2015-08-06 15:24:49
    赞同 展开评论 打赏
  • 回 2楼(leonandandy) 的帖子
    我用的是php PDO,在建立连接的时候可以设置字符集:
    $host = 'localhost';
    $dbinfo = array ('db' => 'mysql:host='.$host.';dbname=test',
            'dbuser' => 'root','dbpassword' => 'test');
    $dbh = new PDO($dbinfo['db'],$dbinfo['dbuser'],$dbinfo['dbpassword'] ,array (PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'UTF8';"));

    -------------------------

    你可以改成自己的字符集试试

    2015-06-08 19:29:18
    赞同 展开评论 打赏
  • Reemoji表情乱码
    应该只要把对应的表改成utf8mb4就可以了吧,插入数居前加上这个sql试试  SET NAMES 'utf8mb4' COLLATE 'utf8mb4_unicode_ci';
    2015-06-07 11:44:51
    赞同 展开评论 打赏
  • Reemoji表情乱码
    表情乱码解决了,但我需要ubf8mb4的字符集,而问题是我已有的数据库是utf8的,用alter database meetsys character set utf8mb4执行成功,但好像没作用呢
    2015-05-11 21:25:13
    赞同 展开评论 打赏
滑动查看更多
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载