关于Unicode控制字符RLO,LRO,PDF 的坑

原创
2018/09/03 17:21
阅读数 1.3W
1、RLO ( Code "\u202E" ; HTML ‮ ) :开始从右到左的文字;
2、LRO ( Code "\u202D" ; HTML ‭ ) :开始从左到右的文字;
3、PDF ( Code "\u202C" ; HTML ‬ ) :结束上一次定义。
(另外还有四个相关的控制字符 RLE 、 LRE 、RLM 、LRM 暂时不举例……)

 

注:mysql数据库编码方式为utf8

1.问题现象:

在执行:select LENGTH("‭13****69461‬")时,长度为17

2.问题分析

http://tool.chinaz.com/tools/unicode.aspx 转成unicode编码时发现两边多了一个 \u202d    \u202c

或者把字符串copy到idea中会自动显示出隐藏字符的unicode,如:

String aa="\u202D137****69461\u202C";

3.解决办法

 1).可以在java代码中直接替换:

aa=aa.replace("\u202D","").replace("\u202C","");

 

注:如果文字直接从excle是copy保存到数据库,很容易出现此问题

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
在线直播报名
返回顶部
顶部