謹防全形空格

2021-07-15 17:10:53 字數 574 閱讀 4151

最近實習,把原有的專案資料庫從oracle遷移到mysql,我主要負責sql語句的修改,各種坑啊,今天碰到乙個令人無語的錯誤。

sql語句差不多就是這個樣子:

select

*from

ainner

join

bon a.foo = b.bar and a.baz = b.qux

就是這麼簡單的語法,就是一直報錯,報「and a.baz = b.qux」處有語法錯誤,刪掉就能正常。關鍵是在oracle中能執行,在mysql中就報錯。難道是mysql功能太弱,不支援多重條件嗎,看了會兒資料否定了這種想法

我就漫無目的的在sql語句上選啊選,這時發現乙個問題——and後面的空格貌似有點長。wtf,這根本就不是乙個ascii空格,而是乙個全形空格。複製後輸出其編碼,「\u3000」。全形分號全形引號的坑都能輕易躲得開,這全形空格實在讓人猝不及防。

也不知道之前的開發者是怎麼把全形空格打進去的,就以搜狗輸入法為例,不主動開全形的話,預設情況下即使是中文狀態輸空格也是「\u0020」,維護老**好辛酸。

另外,oracle接受全形空格也是奇葩。

去掉全形空格和半形空格

需求1 將字串轉換成字元陣列 1 string value 俞子東 2char val new char value.length 3 value.getchars 0,value.length val,0 字串轉換成字元陣列 45 system.out.println val.length 需求2...

Erlang 正則過濾空格 包括全形空格

之前在驗證玩家起名字的時候,首先先去掉字串首尾空格,寫了乙個簡單的trim string trim string str when is binary str trim string str,binary trim string str when is list str trim string st...

PHP 替換全形空格出現亂碼

string 網也出了 李鬼 記者昨天從 網客戶服務中心得到證實,目前網上確實出現了多個假 網,使用者一旦用在 網上註冊的使用者名稱和密碼登入,使用者資訊將被盜取。最近,網上的親子屋和石頭記兩家商鋪的業主接連收到客戶詢問,是否要先向某個指定賬號匯款後才能拿到商品。依據客戶提供的 兩位業主發現,至少有...