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

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

2.问题分析

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

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

或者把字符串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

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-01-23
  • 2022-12-23
  • 2021-05-22
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-10-02
  • 2021-11-26
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案