微信小程序> 微信emoji表情,微信小程序开发系列五小程序中存储emoji表情符

微信emoji表情,微信小程序开发系列五小程序中存储emoji表情符

浏览量:578 时间: 来源:灰暗角落里的琴
我的小程序整个架构是app+asp.net+mysql
因为在“短信定时提醒”中的“随手记”里想存储表情符,所以还是经过了一番折腾的。
首先上网查遍了emoji表情符的设置方法,参见以下链接文章
网上介绍的所有方法都是告诉你字符要从utf8变更为utf8mb4,才能存储4个字节。
但我将mysql数据库中的字符集更改为utf8mb4,仍然无法保存成功。
mysqlSHOWVARIABLESWHEREVariable_nameLIKE'character%'ORVariable_nameLIKE'collation%';
+--------------------------+--------------------+|Variable_name|Value|+--------------------------+--------------------+|character_set_client|utf8||character_set_connection|utf8||character_set_database|utf8mb4||character_set_filesystem|binary||character_set_results|utf8||character_set_server|utf8mb4||character_set_system|utf8||collation_connection|utf8_unicode_ci||collation_database|utf8mb4_unicode_ci||collation_server|utf8mb4_unicode_ci|发现始终存在4个变量还是为uft8,
character_set_client、character_set_connection、character_set_results、collation_connection
怎么弄才能解决这个问题啊?这个困扰了我很久!尝试了各种办法都不行。
最后坐下来慢慢思考这4个变量的含义。
从第一个变量中间有一个client,我猜想到是不是这个需要客户端进行配置啊。
所以大胆的将web.config中数据库连接character="utf8"变为character="utf8mb4",
哈哈哈,这个竟然出现了神奇的效果,突然成功了一次,欣喜万分。
不过接下来又出现了新的问题,保存到“随手记”中的字符,保存时是乱码,修改时才能变成表情符。
到底这两个有什么区别呢?
原来我的开发中在修改的时候用的原始的SQL语句,但在保存的时候使用的是存储过程。
是不是存储过程有问题?
嗯,顺着这个思路往下找,发现存储过程中有事务,那么会不会是事务造成字符集失效呢?
尝试在开始事务后,重新设置一下setnamesutf8mb4,如下:
DECLAREresult_codeINTEGERDEFAULT0;--定义返回结果并赋初值0DECLARECONTINUEHANDLERFORSQLEXCEPTIONSETresult_code=1;--
STARTTRANSACTION;--开始事务setnamesutf8mb4;
...
IFresult_code=1THEN--可以根据不同的业务逻辑错误返回不同的result_code,这里只定义了1和0ROLLBACK;ELSECOMMIT;ENDIF;
竟然成功了,呵呵,太厉害了,竟然让我猜出来了!
最后,还是看看我开发的“短信定时提醒”小程序,你也可以做的更好,扫码试一下,
你也可以做的更好!

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎