emoj表情插入mysql,取出mysql的处理工具类

 1 public class emojCandleUtil {
 2     
 3     private static final Logger log =LoggerFactory.getLogger(emojCandleUtil.class);
 4 
 5     
 6     /** 
 7      * 将字符串中的emoji表情转换成可以在utf-8字符集数据库中保存的格式
 8      * @param str 待转换字符串 
 9      * @return    转换后的字符串 
10      */ 
11     
12     
13     public String emojiConvert(String str)  
14             throws UnsupportedEncodingException {  
15         String patternString = "([\\x{10000}-\\x{10ffff}\ud800-\udfff])";  
16       
17         Pattern pattern = Pattern.compile(patternString);  
18         Matcher matcher = pattern.matcher(str);  
19         StringBuffer sb = new StringBuffer();  
20         while(matcher.find()) {  
21             try {  
22                 matcher.appendReplacement(sb,"[["+ URLEncoder.encode(matcher.group(1),"UTF-8") + "]]");  
23             } catch(UnsupportedEncodingException e) { 
24                 log.error("emojiConvert",e);
25                 throw e;  
26             }  
27         }  
28         matcher.appendTail(sb);  
29         return sb.toString();  
30     } 
31     
32     /** 
33      * 还原utf8数据库中保存的含转换后emoji表情的字符串 
34      * @param str 转换后的字符串 
35      * @return 转换前的字符串 
36      */  
37     public String emojiConvertRst(String str)  
38             throws UnsupportedEncodingException {  
39         String patternString = "\\[\\[(.*?)\\]\\]";  
40       
41         Pattern pattern = Pattern.compile(patternString);  
42         Matcher matcher = pattern.matcher(str);  
43       
44         StringBuffer sb = new StringBuffer();  
45         while(matcher.find()) {  
46             try {  
47                 matcher.appendReplacement(sb,  
48                         URLDecoder.decode(matcher.group(1), "UTF-8"));  
49             } catch(UnsupportedEncodingException e) {  
50                 log.error("emojiConvertRst",e);
51                 throw e;  
52             }  
53         }  
54         matcher.appendTail(sb);  
55         return sb.toString();  
56     }
57     
58 }

本文是参考的大神,亲测有效!

猜你喜欢

转载自www.cnblogs.com/yinyanji/p/9089532.html