Java转义emoji等特殊符号


写在前面

网上找了很多转emoji等方法,大多有两种方法

  1. 更改数据库编码格式为utf8mb4
  2. 过滤字符串中的emoji

都不是很优雅

  1. 更改数据库编码,势必影响其他数据库
  2. 过滤emoj效率比较低

处理Emoji方式

这里推荐使用org.apache.commons.lang3.StringEscapeUtils工具类,简单等两行代码实现特殊符号和emoji表情的转义存储,和读取反转;

转义存储

StringEscapeUtils.escapeXXX(content)

它有几种转码方式,可以根据个人格式进行选择:

public static final String escapeCsv(final String input);
public static final String escapeEcmaScript(final String input);
public static final String escapeHtml3(final String input);
public static final String escapeHtml4(final String input);
public static final String escapeJava(final String input);
public static final String escapeJson(final String input);
public static final String escapeXml(final String input);
public static String escapeXml10(final String input);
public static String escapeXml11(final String input)

读取反转义

读取后,根据个人格式进行反转义,即可还原emoji值,供前端展示;

public static final String unescapeCsv(final String input) ;
public static final String unescapeEcmaScript(final String input);
public static final String unescapeHtml3(final String input);
public static final String unescapeHtml4(final String input);
public static final String unescapeJava(final String input);
public static final String unescapeJson(final String input);
public static final String unescapeXml(final String input);

 

原创文章,转载请注明出处:转载自小马过河 - Java转义emoji等特殊符号


Jbone

Spring Cloud实战项目jbone正在开发中, jbone功能包括服务管理、单点登录、系统管理平台、内容管理平台、电商平台、支付平台、工作流平台等子系统。欢迎关注!

我要关注
马军伟
关于作者 马军伟
写的不错,支持一下

先给自己定个小目标,日更一新。