關於Unicode控制字符RLO,LRO,PDF 的坑

一、RLO ( Code "\u202E" ; HTML ‮ ) :開始從右到左的文字;
二、LRO ( Code "\u202D" ; HTML ‭ ) :開始從左到右的文字;
三、PDF ( Code "\u202C" ; HTML ‬ ) :結束上一次定義。
(另外還有四個相關的控制字符 RLE 、 LRE 、RLM 、LRM 暫時不舉例……)

 

注:mysql數據庫編碼方式爲utf8java

1.問題現象:mysql

在執行:select LENGTH("‭13****69461‬")時,長度爲17sql

2.問題分析數據庫

http://tool.chinaz.com/tools/unicode.aspx 轉成unicode編碼時發現兩邊多了一個 \u202d    \u202cide

或者把字符串copy到idea中會自動顯示出隱藏字符的unicode,如:編碼

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

3.解決辦法idea

 1).能夠在java代碼中直接替換:code

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

 

注:若是文字直接從excle是copy保存到數據庫,很容易出現此問題blog

相關文章
相關標籤/搜索