| | | 11 | | 37,240 |
老問題一枚。使用Excel開啟CSV檔案,會l將純數字組成的字串視為數字型別處理,導致"000123"之類的左補零數字編碼變成"123"(如下圖所示),對必須補零到固定長度的編碼欄位來說,莫名被截掉部分內容,常會造成困擾。所幸,透過簡單的CSV花式技巧,在...
| | | 15 | | 48,232 |
有個偵測文字檔是否為BIG5編碼的需求,決定寫個小函數來實現。 要偵測BIG5編碼,有一種寫法是將字串轉為byte[]後再比對0xA440-0xC67E等編碼區間(參考)加以識別;不過,我不太喜歡這類寫法,理由是既然BIG5編碼邏輯細節已存在.NET內建Encoding類別中(可透過Encod...
| | | 0 | | 8,702 |
同事報案,某支排程作業主控台應用程式(Console Application)忽然無法執行,持續出現: The system cannot execute the specified program. 系統無法執行指定的程式 爬文發現此訊息大多與缺少VC++ DLL...
| | | 1 | | 7,955 |
昨天小談了固定欄寬資料檔解析程式的寫法,有人問到解析之餘要如何產生固定欄寬資料,並提了一些常見但有點機車的需求,例如: 針對數字欄位要能指定數值靠右左方補零(不知為什麼,某些"阿公"很愛用這種不補空白要補零的規格,每次要肉眼除錯時,十來個數字欄位夾雜零零相連到天邊,數位置數到...
| | | 1 | | 11,343 |
跟傳統系統打交道時,XML、JSON等格式多半無用武之地,往往得透過"固定欄寬資料格式"進行資料交換。 在撰寫程式解析固定欄寬資料時,有幾點注意事項: 欄位寬度計算與中文編碼有關,實務上使用BIG5編碼還是大宗(阿公級系統很少能支援Unicode)。 BIG...
| | | 0 | | 13,657 |
為一個使用BIG5編碼的網站寫一小段AJAX Script滿足需求,結果踢到了鐵板。 使用$.get()或$.post()取得後端網頁程式執行內容是很普遍的技巧,但若網頁採BIG5編碼而非UTF-8時,會衍生額外議題。 以下面的網頁為例,我們在按鈕click()事件中使用$.get(loca...
| | | 16 | | 153,990 |
在中文版Windows中,Command Prompt預設使用BIG5編碼,因此檢視UTF-8編碼檔案時會出現亂碼。 今天學會一個指令,chcp,使用chcp加上Code Page代碼,就可切換指定的語系。UTF-8的Code Page是65001,先chcp 65001,再將預設的字型由...
| | | 3 | | 16,116 |
專案裡遇到的特殊需求,有個欄位在程式內部採用Unicode編碼,但要匯出給某個系統接收時,中介資料表卻制定了採Big5編碼的VARCHAR(50)格式,這意味著: 1) Big5編碼的中文字元相當於VARCHAR(2),長度限制應為25個Unicode中文字元 2) 包含Unicode...
| | | 4 | | 13,389 |
之前幫小木頭寫的英文單字測驗,有個小問題。 原本網頁介面上,每個單字只有圖片加英文,配合單字的圖片都是去網路上找的,很難做到100%精準搭配,有時甚至找不到明確符合的(例如: 星期三要用什麼圖片來象徵?),不小心就會變成聯想力考驗。例如,當初女王挑了一張可愛的老鼠卡通圖片(下圖左)當成Rats...
| | | 1 | | 68,509 |
最近專案中引用了Telerik ASP.NET擴充元件AutoComplete輸入欄位,測試時發現偶爾會不聽始喚,輸入文字時無法觸發資料查詢,在Javascript Source Code裡反覆追蹤測試,燃燒了可觀的寶貴春青,終於理出頭緒: 問題在中文輸入法! 過去模糊地知道中文輸入在瀏覽器的鍵盤...
| | | 0 | | 9,505 |
同事反應一個問題,有段程式使用LINQ的OrderBy排序一串中文名稱,在不同主機得到不同結果: string[] pool = "一 二 三 四 五 六 七 到 底 排 成 啥 順 序".Split(' ');Response.Write(string.Join(",", pool.O...
| | | 3 | | 18,881 |
今天是值得紀念的一天!! 多年以來,我一直以為在非Unicode編碼ORACLE資料庫中正確塞入難字的唯一方法,只能透過OracleParameter... 手上有個應用,我寫的.NET程式要接收其他程式傳來的CommandText執行,而其中包含以N'...'方式新增難字內容的指令。無力...
| | | 4 | | 14,622 |
有User反應,用Mac開啟Reporting Service匯出PDF檔,看不到其中的中文字,但英數文字正常。經過一番測試,果不其然就是中文字型問題。 直接整理本次實驗心得供大家參考: RDL報表中,不論將字型名稱設定為"DFKai-SB"或"標楷體",在Windows平台上均可正確顯示標楷體...
| | | 1 | | 11,833 |
學海無涯! 一直以來,要放Unicode文字就得開NVARCHAR欄位的觀念深植我心。直到今天聽一位同事說: 如果Oracle資料庫的字元集設成Unicode,開VARCHAR就好了,不必為Unicode特意開NVARCHAR。 這顛覆了我的認知,但也不確定我根深蒂固的觀念是否隨軟體版本演進早已有...
| | | 0 | | 13,222 |
上回有討論過Excel開啟CSV時的中文編碼問題,今天發現關於.NET處理BOM的幾個特性,再補充三則筆記: 雖然預設UTF8Encoding的encoderShouldEmitUTF8Identifier參數預設為true,但GetBytes()的結果不會包含BOM File.WriteAl...
| | | 4 | | 14,728 |
手邊有個需求,要把IIS Log Query String裡的參數解析出來,例如: "?a=LeftMenu&t=%u9ed1%u6697%u57f7%u884c%u7dd2&u=/Darkthread.aspx&_=1262748681109"。需求不難,但要拆解參數、U...