微信小程序获取用户昵称中含有emoj表情,后端处理方式以及回显。
1、在做微信小程序的时候遇到了用户昵称中含有emoj表情无法入库的情况。
### Cause: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x80' for column 'nick' at row 1
; uncategorized SQLException for SQL []; SQL state [HY000]; error code [1366]; Incorrect string value: '\xF0\x9F\x98\x80' for column 'nick' at row 1; nested exception is java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x80' for column 'nick' at row 1
2、错误很明显,用户昵称入库失败,马上想到可能是特殊字符或者表情,首先解决报错,保证流程正常,就是需要把用户昵称中的emoj表情替换掉。
//替换emoj
"??1".replaceAll("[^\\u0000-\\uFFFF]", "?");
3、进一步解决问题,对用户昵称进行编码存库,然后前端获取昵称的时候进行解码,这样小程序可以完整的显示用户昵称。
try {System.out.println(Base64.encodeBase64String("?".getBytes("utf-8")));} catch (UnsupportedEncodingException e1) {}String nickname = "8J+NiQ==";try {nickname = new String(Base64.decodeBase64(nickname.getBytes()), "utf-8");System.out.println(nickname);} catch (UnsupportedEncodingException e) {}
4、这样存在一个问题,就是对所有昵称进行编码之后,后台数据库存储的用户昵称都是编码后的字符,看起很怪。
5、可以通过设置涉及字段的字符编码,保证这个字段可以存储emoj表情。
MySQL在5.5.3之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode。
将nick字段编码字符集 设置为utf8mb4,排序规则utf8mb4_general_ci,这样就可以插入emoj表情,有说法需要重启,我测试的时候不需要重启,设置之后可能还会出现插入错误,需要在配置文件中配置如下的东西。
druid连接池配置如下
<property name="connectionInitSqls" value="set names utf8mb4;"/>
BoneCP连接池配置如下
<property name="initSQL" value="set names utf8mb4;"/>
微信小程序获取用户昵称中含有emoj表情,后端处理方式以及回显。相关推荐
- 【微信小程序】微信小程序开发--用户昵称中带有emoji表情的处理方法
刚开始写小程序,获取客户昵称,后来发现用户昵称是可以为emoji表情的,而Mysql数据库中是不支持直接将emoji表情直接存入数据库的,后来在网站上找了一个方法将所有的昵称转变为Unicode编码存 ...
- 微信小程序获取用户昵称和头像
getUserInfo.js Page({data: {userInfo: {},hasUserInfo: false,canIUseGetUserProfile: false,},onLoad() ...
- 微信小程序 获取用户昵称 头像 性别...『并解决获取的头像模糊问题』
上代码 <button open-type="getUserInfo" bindgetuserinfo="getUserInfomation">获取 ...
- 微信小程序获取用户手机号存数据库,前后端都有《Java后台版 》
开发这个功能的时候走了很多弯路磨了很多时间,我发一下我自己用的来帮助大家 流程图 前端 index.wxml <view>我的首页内容</view><button cla ...
- 微信小程序获取用户信息-头像、昵称......
微信小程序获取用户信息-头像.昵称等,并出现弹窗提示授权 目录 微信小程序获取用户信息-头像.昵称等,并出现弹窗提示授权 1.wx.getUserProfile文档 2.代码演示 3.演示过程(图示) ...
- 微信小程序获取用户头像昵称
微信小程序获取头像昵称问题解决 文章目录 微信小程序获取头像昵称问题解决 前言和传统方法 问题描述 解决方案 实现效果 前言和传统方法 微信小程序是一种基于微信开发平台的轻应用,用户可以通过微信扫码. ...
- 微信小程序获取用户信息
微信小程序获取用户信息 微信小程序获取用户信息接口做了调整: 2021年4月28日24时后发布的小程序新版本,无法通过wx.getUserInfo与获取用户个人信息(头像.昵称.性别与地区),将直接获 ...
- 微信公众号/微信小程序获取用户信息以及推送微信模版消息_MQ
微信公众号/微信小程序获取用户信息以及推送微信模版消息_MQ 一.获取用户信息 1.首先我们需要了解什么是微信用户的OpenID 在关注者与公众号产生消息交互后,公众号可获得关注者的OpenID(加密 ...
- 微信小程序获取用户信息更新解决方案
微信小程序获取用户头像和昵称更新了,以下代码是兼容旧版本微信和新版本微信的解决方案,仅供参考 直接上代码 <template><!-- 顶部用户信息显示 --><view ...
最新文章
- python 输出大文本文件
- “双一流”本科生可得13.2万补贴!这座城市发布重磅人才新政
- android windows 上JNI编程
- 软件测试技巧|软测经典面试题(二)
- 【Linux安全】chattr命令锁定账户敏感文件
- (转)AssetBundle系列——游戏资源打包(二)
- java中session对象及其常用方法
- 小说平台系统开发(PHP)
- MySql 8.0对应的驱动包
- 【合泰HT32火焰传感器报警】
- 资深HR分享:常见面试技巧,都是套路!
- Qt-------->第六天,Qt高级编程
- jQuery即点即改
- 我的 Python 全栈开发自学笔记
- unity 相同材质不同属性怎么合批
- Google Filament 源码学习(二):三方库分类总结
- xss challenges闯关详细(6-10)
- VS2010添加资源文件
- 专利一通出案待答复和中通出案待答复
- 室内设计计算机考试题,12秋计算机班3dsMax室内设计期末考试试题