emoji存库以及乱码问题解决
来源:互联网 发布:matlab解矩阵方程组 编辑:程序博客网 时间:2024/06/05 07:21
emoji存库以及乱码问题解决
将emoji表情存入数据库的方法做了个总结,网上看了很多资料,进行亲测之后总结了两种方式,
第一种方式
该方式需要修改数据库,操作繁琐,自己在试验过程中出现了乱码问题,未能解决也没能发现问题出现在哪里.
修改mysql的字符集,将数据库的字符集修改成utf8mb4
将my.ini(win)文件配置修改,如下
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
发现还有两个问题会继续导致字符不兼容的问题:
1.JDBC连接串的问题,有些项目在jdbc连接串里指定了编码,例如:
jdbc:mysql://localhost/mydb?characterEncoding=UTF-8
把红色部分去掉,问题解决。
2.字符集修改之后要将相关表结构中的表的字符集以及表中字段的字符集也修改为utf8mb4
注:该方式亲自试验,emoji存库之后存在乱码问题
第二种方式(推荐使用)
首先不需要修改数据库的字符集,使用utf8即可
1.引入依赖
<dependency>
<groupId>com.vdurmont</groupId>
<artifactId>emoji-java</artifactId>
<version>3.2.0</version>
</dependency>
2.api使用
EmojiParser.parseToAliases(string); 将表情符号转为字符
EmojiParser.parseToUnicode(string); 将字符转为表情符号
在添加emoji的字段使用EmojiParser.parseToAliases(string);具体示例如下
@PostMapping("addArticle")
@ResponseBody
public String saveData(Article article){
try {
String articles = EmojiParser.parseToAliases(article.getArticle());//该字段为添加emoji的字段
article.setArticle(articles);
articleService.insert(article);
return "成功";
}catch (Exception e){
e.printStackTrace();
return "失败";
}
}
返回emoji的字段使用EmojiParser.parseToUnicode(string);具体示例如下
@PostMapping("queryArticle")
@ResponseBody
public Article getArticle(Long id) {
Article article = new Article();
article.setId(id);
article = articleService.getArticle(article);
String articles = EmojiParser.parseToUnicode(article.getArticle());//该字段为存有emoji的字段
article.setArticle(articles);
return article;
}
以上两种方法均能存储emoji,第一种方式是普遍的解决方案,但我经过 配置之后存入数据库的数据全是乱码,所以果断使用第二种方式,不需要修改数据库,只需要引入依赖调用其方法即可!
两种方式更多细节请参考一下两个链接
参考:http://www.jianshu.com/p/bda2d030b0ce
http://blog.csdn.net/applebomb/article/details/52755666
阅读全文
0 0
- emoji存库以及乱码问题解决
- 微信公众号开发-emoji表情存库异常
- mysql 存emoji表情 utf8mb4
- mysql emoji 乱码问题
- PHP中乱码问题以及相关问题解决
- 安装Mysql数据库 以及乱码问题解决utf8
- java https连接以及乱码问题解决办法
- 解析emoji表情以及显示emoji表情
- 关于表情(emoji) 存数据库出错
- mysql存emoji表情报错处理
- mysql存emoji表情报错处理
- 关于使用Session/Cookie存中文乱码造成的问题解决方案
- dom4j 的 DTD 验证,以及输出乱码问题解决方案
- Jsp Servlet +SmartUpload 实现文件上传.以及上传乱码问题解决.
- Android访问Tomcat错误以及mp3player项目乱码问题解决
- Android访问Tomcat错误以及mp3player项目乱码问题解决
- PHPmyadmin、MySql以及网页中文乱码问题解决大合集!!
- JavaWeb读取本地json文件以及乱码问题解决
- python学习历程_语句(day 3)
- spark lda对参数进行调试
- 剑指offer之倒着输出链表 Java
- SimpleDateFormat format时分秒均为0的日期多了12个小时
- 存储过程实例
- emoji存库以及乱码问题解决
- 提高mysql千万级大数据SQL查询优化几条经验(1)
- Android 7.0 添加自定义系统服务
- Markdown那些必须掌握的小知识
- Grails每次重新启动服务器 数据消失
- 八大排序简单小结及c++实现
- 168. Excel Sheet Column Title
- linux eclipse 安装和配置
- 餐饮大数据-hiveJDBC-工具类