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

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

39d0d9632f538bdff0bf95b083ae0f41c5d.jpg

2.问题分析

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

02ccc1db1f83ca0b5a284417516f73024f6.jpg

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

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

3.解决办法

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

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

 

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

转载于:https://my.oschina.net/u/3242075/blog/1941634

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值