FME中中文字元長度問題

2021-08-22 02:45:48 字數 587 閱讀 4389

字元編碼.fmw

前面曾經寫過一篇fme中中西文本元長度的部落格(

),但時間過了這麼久,fme的版本更新到了2015,有一天我再次用到python裡面的len()函式來計算字元長度的時候發現,竟然跟stringlengthcalculator得到的同樣的結果,也就是乙個漢字作為了乙個字元。

這確實讓人遺憾,在過去的2023年裡fme做了很多的更新但對中文的支援能力卻一直不盡如人意,在解決字元長度的過程中,總算猜到的一點端倪,原來fme大概是自2013sp4開始字元的編碼方式開始使用unicode的編碼,而在unicode編碼下乙個漢字字元的長度為1和西文字元的長度一樣,且將unicode編碼為utf-8的時候經常無法正確的編碼成中文樣式所以經常會出現亂碼的情況。

那麼如何才能得到我們想要的結果呢,即乙個中文字元佔兩個字元寬度,答案很簡單將unicode編碼的字元編碼成為gbk即可,使用pythoncaller**如下,在日誌裡就能看到編碼前後所佔的字元寬度。

如對文章有疑問,可傳送郵件至[email protected]提問或討論。

限定字元長度,截斷中文字元

今日遇到個麻煩事。input限定輸入位元組數是8,中文自然算兩個位元組。本來一路順利,keyup keydown keypress事件挨個試過去,把中文用正則替換成兩個英文本元,超過8的就return false。ie下表現超級完美。這個時侯firefox下麻煩事就開始了,ie下,中文輸入法狀態下他...

jquery 判斷中文字元的長度

方法一 使用正規表示式,如下 function getbytelen val else return len 方法二 使用字元unicode判斷 方法如下 function getbytelen val else return len function querytask var scantarge...

hibernate mysql 中文字元問題

中文亂碼 問號 1 我的eclipse預設字符集已經是utf8了 2 mysql6的資料庫預設字符集也是utf8 3 建表的語句也表明 engine myisam character set utf8 4 某一向為人謙和,不張揚,行事低調 人品也是絕對相容utf8的!這就怪了,刪表重建 drop 資...