微信开放接口获取用户昵称保存到MySQL中为空白
来源:互联网 发布:锋锦网络abqp 编辑:程序博客网 时间:2024/05/01 19:30
微信昵称中包含emoji表情标签,某些标签是使用了4字节编码的UTF8。
而大多数MySQL数据库现在使用的是3字节UTF8编码,这样会导致保存为空,且不会提示失败。
解决方法有2个,一个是升级到MySQL5.5+版本,支持utf8mb4编码格式,然后执行下面的变更语句:
ALTER TABLE 表名 CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
这样可以完整保存用户昵称,但系统升级风险较大,需要多方面测试。
另外一个方法更容易,就是去除非3字节的特殊符号,
$nickname = preg_replace('/[\x{10000}-\x{10FFFF}]/u', '', $nickname);
缺点是这会导致读取显示的时候少了那些漂亮的图标。
参考链接:
http://dev.mysql.com/doc/refman/5.5/en/charset-unicode-utf8mb4.html
http://stackoverflow.com/questions/7814293/how-to-insert-utf-8-mb4-characteremoji-in-ios5-in-mysql
by iefreer
0 0
- 微信开放接口获取用户昵称保存到MySQL中为空白
- mysql数据库:微信用户昵称emoji 怎么保存到数据库中。
- 微信jssdk获取用户昵称,含emoji符号保存
- mysql保存emoji表情(微信开发用户昵称..)
- mysql 微信用户昵称emoji 完整保存
- PDO保存带符号的微信昵称到MySQL
- mysql保存微信昵称特殊字符
- 微信接口获取昵称中的表情符的过滤
- 微信开发笔记:获取用户openid,以及用户头像昵称等信息
- 微信用户昵称乱码解决
- js控制URL地址的改变,以微信服务号的授权获取用户的昵称和头像为例
- 微信登录获取昵称乱码解决方法
- 微信通过网页获取用户头像与昵称等信息
- 关于微信公众号开发时获取用户昵称作为参数乱码的问题
- mysql存储表情微信昵称
- 微信高级接口获取用户基本信息
- 微信批量获取用户基本信息接口
- 微信公众账号调取用户昵称和用户头像
- 常用QQ还是得绑定手机号,开启QQ手机安全助手。
- Android使用HttpClient加载网络数据(图片)
- 64位系统使用32位的plsql连接64位的Oracle 11g
- AngularJS 教程
- android访问网络数据
- 微信开放接口获取用户昵称保存到MySQL中为空白
- 目标跟踪1
- 虚函数和纯虚函数的区别
- CodeForces 570C Replacement 统计
- Chapter 10 – Test
- zoj2833Friendship
- HDU 3342 Legal or Not【拓扑排序 邻接表实现】
- hdu 5385 The path 贪心
- 封装好的Potoutil工具类,调用拍照、相册以及对图片做处理