用php编写微信小程序,用mysql数据库,会遇到什么问题以及解决方法

用php编写微信小程序,用mysql数据库,会遇到什么问题以及解决方法,第1张

在mysql数据库用php编写微信小程序会遇到的问题是因为数据库不支持表情。解决办法是:

1、将字符集改为utfmb4。

2、将emoji表情转义,调用时再转换回去即可。

经过测试虽然utf8mb4能够将数据存储到数据库中,但是还是有问题的:如果微信昵称前后面都有表情,中间有文字的时候,数据库中只能将前面的表情保存,后面的表情变成了空格,经过几番周折还是使用了utf8来保存下图蓝色条选中的那样字符串来保存,在前端对字符串进行去"处理,保证用户的昵称不被破坏

首先需要知道在UTF8编码方式有可能是2,3或4个字节。而Emoji表情的UTF8是4个字节,但是在mysql中设置utf8编码最多是3个字节,所以emoji的数据是无法存入。

解决方案就是:将Mysql的编码从utf8转换成utf8mb4,是数据库支持4个字节的utf8编码,有下边三种方法:

1. 修改my.cnf

[mysqld]

character-set-server=utf8mb4

[mysql]

default-character-set=utf8mb4

修改后重启Mysql

2. 以root身份登录Mysql,修改环境变量,将character_set_client,character_set_connection,character_set_database,character_set_results,character_set_server 都修改成utf8mb4

如果表已经存在,将已经建好的表也转换成utf8mb4

alter table tblName convert to character set utf8mb4 collate utf8mb4_bin


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7410570.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-05
下一篇 2023-04-05

发表评论

登录后才能评论

评论列表(0条)

保存