Category: 中文編碼

今天才發現 JavaScript 中文字串排序有個大問題! 下圖是 KendoGrid 在 Chrome 使用 JavaScript 排序的結果,如圖所示,一到七由小到大排序結果為一、七、三、二、五、六、四,既不是依筆劃,也不是依注音: (SQL 的中文定序就區分筆劃跟注音,例如: Chines...

同事遇到集保罕集問題,我試著解釋個中奧妙時冒出一堆「集保罕字的X」「Unicode標準字的X」「看起來一樣但編碼不同」把同事薰得七葷八素,感覺都快吐了… 嗯,寫篇文章細說從頭吧。 很久很久以前,在 Unicode 還沒一統天下之前,BIG5 是台灣地區的主流中文編碼,其中定義 13,053 個...

在 FB  看到 91 貼了一張照片,提到某廠商的電子報一直存在亂碼問題,寄信人與信件主旨出現一堆嚙調客、嚙踝蕭… 之類的怪字亂碼。 有種畫面上到處是老鼠的感覺… (嚙是齧的異體字) 連 Chrome 也想吶喊「有老鼠!Encoding 碰上麻煩了。」 XD 之前寫過一篇中...

改用VS2015後沒多久就發現它處理BIG5(ANSI)編碼程式碼的原則不同於以往(推測與編譯器改用Roslyn有關),導致部分使用BIG5編碼存檔的古老程式檔,會因許功蓋造成編譯錯誤。 PO文隔兩天同事跟我說,他們換VS2015後也射了好一陣子茶包,最後爬文又爬回我的文章。XD 後來聊到可以...

裝好VS2015後,陸續將VS2013維護的專案改用VS2015開啟,原以為可完全無痛移轉,踩到小刺一根。 某個用VS2013開發多時的專案,移到VS2015出現編譯錯誤!以下面的程式為例: Console.WriteLine那行發生Unrecoginzed escape sequenc...

Microsoft.VisualBasic.Strings.StrConv靜態方法是在.NET轉換半形全形最簡便的做法(即使語言是C#也沒差,在專案加入Microsoft.VisualBasic參照即可),最近實際用在專案,又發現了一些眉角,整理筆記備忘: 在開發機測試OK,丟到測試機執...

作業環境有個需求: 有一些PL/SQL DDL指令需先匯成sql檔,再透過程式呼叫SQLPlus.exe執行。 SQLPlus.exe可讀入SQL Script檔案直接執行,例如: sqlplus –s user/pwd @script.sql,而透過程式啟動外部EXE也不是問題,一切看似小菜...

BIG5 與 GB2312 是繁體中文與簡體中文最常採用的 ANSI 形式編碼,當代系統多已改採 Unicode ,但在涉及傳統系統整合的情境中,仍有處理中文 ANSI 編碼的需求。有時,資料來源較雜,BIG5、GB2312 編碼都有可能,系統規劃者多半希望系統能由二進位資料 (Byte Arr...

前陣子找到將Big5-HKSCS編碼轉為Unicode的解決方案,實際應用卻發現問題 -- 若字串已是Unicode編碼且混雜其他語系字元,HKSCS_Big5ToUnicode41()便無法招架。 延續上回的例子: 在"滙豐銀行 警衞室"後方故意加上"喆&...

昨天介紹了Big5-HKSCS,初步心得是: Big5-HKSCS跟Big5一樣是歷史的眼淚,新一代Unicode標準已能涵蓋其字元範圍又能同時兼容各國語系。因此,拋棄ANSI規格,回歸Unicode才是王道!! 但這衍生一個需求 -- 若既存文字檔或其他老系統仍採用Big5-HKSCS編碼內...

身為中文編碼解析工具的開發者,一直以為自己"略懂"中文編碼,這兩天再度見證"學海無涯",默默收回"略懂"二字... 從以下畫面說起: 五種瀏覽器(IE, Opera, Chrome, Firefox, Safari)一次排開檢視...

手邊的專案涉及多國語系,之前研究過使用Excel維護多國語系字串資源檔,意外發現Office的繁簡轉換功能威猛過人,不單只是置換字元編碼,還能做到詞彙轉換,將字彙轉換成對應的說法,例如: 交易資料->事务数据、預設記憶體->默认内存... 等等,放著神兵利器不用,豈不暴殄天物? 於是,...

網友提問,希望了解中文編碼解析工具關於信件標題(如=?x-gbk?q?=B5=C4=B7=AD=D2=EB?=)的解碼邏輯,特整理為程式範例並加註說明如下: using System; using System.Text; using System....

因緣巧合,最近剛好需要處理中文點陣字型。 在DOS+倚天中文的古早年代,曾經用BASICA寫過解析倚天中文字型檔的程式,沒想到二十多年後居然還有機會重新回味,只是這回手上的兵器已由當年的BASICA小開山刀,換成C#加農砲,語言特性已不可同日而言、自己的程式技巧也遠比當年成熟,對照起來格外有趣...