Browse by Tags
All Tags
»
中文編碼
(
RSS
)
.NET
AJAX
ASP.NET
CODE
Coding4Fun
CSS
IE
IIS
Javascript
jQuery
KB
ORACLE
Reporting Service
Sharepoint
SQL 2005
Tips
Tools
Trouble-Shooting
VS2008
潛盾機
【答客問】信件標題解碼範例
網友 提問 ,希望了解 中文編碼解析工具 關於信件標題(如=?x-gbk?q?=B5=C4=B7=AD=D2=EB?=)的解碼邏輯,特整理為程式範例並加註說明如下: using System; using System.Text; using System.Text.RegularExpressions; using System.Web; namespace ConsoleApplication1 { class Program { static void Main( string...
Coding4Fun - 點陣中文字型顯示
因緣巧合,最近剛好需要處理中文點陣字型。 在DOS+倚天中文的古早年代,曾經用BASICA寫過解析倚天中文字型檔的程式,沒想到二十多年後居然還有機會重新回味,只是這回手上的兵器已由當年的BASICA小開山刀,換成C#加農砲,語言特性已不可同日而言、自己的程式技巧也遠比當年成熟,對照起來格外有趣。 時代演進大大地改變了寫程式的方法,當年要自己瞎摸亂湊好一陣子才能拼湊出檔案規格,現在稍稍爬文就能找到網友的熱心分享: 倚天中文字型檔結構說明 (倚天中文系統雖已不再販售,但要正式應用仍需取得字型檔授權)...
【潛盾機】避免Excel開啟CSV時截掉左補零的小工具
老問題一枚。使用Excel開啟CSV檔案,會l將純數字組成的字串視為數字型別處理,導致"000123"之類的左補零數字編碼變成"123"(如下圖所示),對必須補零到固定長度的編碼欄位來說,莫名被截掉部分內容,常會造成困擾。所幸,透過簡單的 CSV花式技巧 ,在CSV中寫成="000123",就可強迫Excel將其視為文字處理,避免前方的零被截除。 遇到一個棘手情境: 某CSV檔需符合其他系統上傳規格,不能輸出成="000123"的形式...
CODE-偵測檔案是否為BIG5編碼
有個偵測文字檔是否為BIG5編碼的需求,決定寫個小函數來實現。 要偵測BIG5編碼,有一種寫法是將字串轉為byte[]後再比對0xA440-0xC67E等編碼區間( 參考 )加以識別;不過,我不太喜歡這類寫法,理由是既然BIG5編碼邏輯細節已存在.NET內建Encoding類別中(可透過Encoding.GetEncoding(950)或Encoding.GetEncoding("big5")取得),編碼區間定義另外出現在我們的程式碼多少違背了"觀注點分離(SoC)...
【茶包射手日記】.NET主控台應用程式出現"系統無法執行指定的程式"錯誤
同事報案,某支排程作業主控台應用程式(Console Application)忽然無法執行,持續出現: The system cannot execute the specified program. 系統無法執行指定的程式 爬文發現此訊息大多與 缺少VC++ DLL 有關,但這是支.NET程式,加上原本可以執行,必要DLL忽然消失的可能不高,推測應另有原因。 試著直接由檔案總管點選exe執行,蒐集更詳細的訊息。登楞! 凶手的背影出現了~~ 訊息指出是config檔有問題,同事此時也出來補刀--"的確是修改過config後才壞的"...
TIPS-製作固定欄寬資料檔
昨天小談了 固定欄寬資料檔解析 程式的寫法,有人問到解析之餘要如何產生固定欄寬資料,並提了一些常見 但有點機車 的需求,例如: 針對數字欄位要能指定數值靠右左方補零(不知為什麼,某些"阿公"很愛用這種不補空白要補零的規格,每次要肉眼除錯時,十來個數字欄位夾雜零零相連到天邊,數位置數到眼睛都快出血了)、文字過長要能自動截切,還要避免切成半個中文字... 禁不住這團機車小需求的刺激,忽然一陣熱血衝腦... 待神智恢復時,發現自己端坐在電腦前,VS2010開啟中的專案有一段小程式....
TIPS-固定欄寬資料檔的解析
跟傳統系統打交道時,XML、JSON等格式多半無用武之地,往往得透過"固定欄寬資料格式"進行資料交換。 在撰寫程式解析固定欄寬資料時,有幾點注意事項: 欄位寬度計算與中文編碼有關,實務上使用BIG5編碼還是大宗(阿公級系統很少能支援Unicode)。 BIG5編碼中,半形英數字佔一個Byte,全形符號及中文佔兩個Byte,欄寬規格書中CHAR(n),n多指Bytes,所以計算長度時,需把握中文算2或英數字算1的原則。 建議不要再用比對第一個Byte ASCII的方法自己判別全半形...
使用XHR下載BIG5編碼內容
為一個使用BIG5編碼的網站寫一小段AJAX Script滿足需求,結果踢到了鐵板。 使用$.get()或$.post()取得後端網頁程式執行內容是很普遍的技巧,但若網頁採BIG5編碼而非UTF-8時,會衍生額外議題。 以下面的網頁為例,我們在按鈕click()事件中使用$.get(location.href)取回網頁本身內容再alert出來,但有個重點--網頁記得要存成為BIG5編碼。(不知如何指定檔案編碼的朋友,可參考文末附註) <! DOCTYPE html > < html...
在命令提示視窗(Command Prompt)顯示UTF-8內容
在中文版Windows中,Command Prompt預設使用BIG5編碼,因此檢視UTF-8編碼檔案時會出現亂碼。 今天學會一個指令, chcp ,使用chcp加上 Code Page代碼 ,就可切換指定的語系。UTF-8的Code Page是65001,先chcp 65001,再將預設的字型由Raster Fonts改成Lucida Console或Consolas,就可以正確顯示UTF-8編碼的檔案囉! (另外,下圖Options頁籤可查看目前的Code Page設定) PS: 切換到UTF...
CODE-配合VARCHAR長度截取字串
專案裡遇到的特殊需求,有個欄位在程式內部採用Unicode編碼,但要匯出給某個系統接收時,中介資料表卻制定了採Big5編碼的VARCHAR(50)格式,這意味著: 1) Big5編碼的中文字元相當於VARCHAR(2),長度限制應為25個Unicode中文字元 2) 包含Unicode的字串在轉換後將變成"?" 原本系統採保守策略,把輸入欄位的長度限定在25個字元,不過客戶反應輸入內容常中英文交雜,英文字元也被視為2個Byte(在VARCHAR其實只佔1個Byte),讓可用字數變少...
CODE-製作注音文字圖檔
之前幫小木頭寫的 英文單字測驗 ,有個小問題。 原本網頁介面上,每個單字只有圖片加英文,配合單字的圖片都是去網路上找的,很難做到100%精準搭配,有時甚至找不到明確符合的(例如: 星期三要用什麼圖片來象徵?),不小心就會變成聯想力考驗。例如,當初女王挑了一張可愛的老鼠卡通圖片(下圖左)當成Rats的插圖,結果發現小木頭竟把這個學校還沒教的單字誤解成"溜滑板",暈倒~~~ 決定出個改良版,為每張圖片加註附含注音的中文翻譯,小木頭讀注音國字已不是問題,這樣子看到生字才不用看圖亂猜一通...
jQuery - 中文輸入法與KeyDown/KeyPress事件
最近專案中引用了Telerik ASP.NET擴充元件 AutoComplete輸入欄位 ,測試時發現偶爾會不聽始喚,輸入文字時無法觸發資料查詢,在Javascript Source Code裡反覆追蹤測試,燃燒了可觀的寶貴春青,終於理出頭緒: 問題在中文輸入法! 過去模糊地知道中文輸入在瀏覽器的鍵盤事件行為上有些特殊,但從未深究,這回算是比較清楚研究其中的差別。其實最明顯的差異是: 切到中文輸入法後,輸入文字將不會觸發KeyPress事件,只會有KeyDown,而且傳回的e.keyCode會一律是229...
CultureInfo與中文字串排序
同事反應一個問題,有段程式使用LINQ的OrderBy排序一串中文名稱,在不同主機得到不同結果: string [] pool = "一 二 三 四 五 六 七 到 底 排 成 啥 順 序" .Split( ' ' ); Response.Write( string .Join( "," , pool.OrderBy(o => o).ToArray())); Response.End(); 一般來說,我們期望它依筆畫多寡排序,如以下順序...
讓OracleCommand.CommandText中N'...'正確被解讀
今天是值得紀念的一天!! 多年以來,我 一直以為 在非Unicode編碼ORACLE資料庫中正確塞入難字的唯一方法,只能透過OracleParameter... 手上有個應用,我寫的.NET程式要接收其他程式傳來的CommandText執行,而其中包含以N'...'方式新增難字內容的指令。無力改變這個協同運作方式,只能被逼著要解開這個謎團---到底要怎樣才能讓N'...'的難字正確送到ORACLE上執行呢? 不抱太大希望地在網路爬文,大概是多年來為了ORACLE Unicode問題煞費苦心孝感動天...
一個Reporting Service PDF中文字型與Mac相容議題的經驗
有User反應,用Mac開啟Reporting Service匯出PDF檔,看不到其中的中文字,但英數文字正常。經過一番測試,果不其然就是中文字型問題。 直接整理本次實驗心得供大家參考: RDL報表中,不論將字型名稱設定為"DFKai-SB"或"標楷體",在Windows平台上均可正確顯示標楷體;但在Mac上,字型設為"DFKai-SB"時,PDF的中文字無法顯示,並會出現找不到DFKai-SB字型的警示,設為"標楷體"則正常...
更多文章
下一頁 »
搜尋
Go
<
May 2013
>
Sun
Mon
Tue
Wed
Thu
Fri
Sat
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
【工商服務】
OrcsWeb: Windows Server Hosting
最新回應
2013-05-22 Jeffrey
jQuery ready vs load
to Jerry, 如果Code只能加在ready()中沒有第二種選擇,而<script>document...
2013-05-22 Jerry
jQuery ready vs load
拉到 ready() 外面確實是可以執行, 但是原本廠商提供的 code 使用介面很難用...
2013-05-22 Jeffrey
jQuery ready vs load
to jerry, .ready()發生在網頁載入完整後,其時機晚於你所提的document...
2013-05-22 Jeffrey
遠端桌面連線無法儲存帳號密碼
to chhuang, 恭喜找到本篇的防盜浮水印... orz 嗚~ 是typo沒錯...
2013-05-21 jerry
jQuery ready vs load
看到您的blog, 嚷我有一種溺水者抓到救生圈的感覺 想請教,在jQuery裡面設定的變數...
2013-05-21 chhuang
遠端桌面連線無法儲存帳號密碼
gpupdate.exe /force ^^^^^^ typo
2013-05-21 貓咪圓滾滾
我的JSDC 2013筆記
看到黑大提及大家熱情分享 雖然已經事隔很久 但我還是想說一些話 我第一位請教問題的mvp是Andy...
2013-05-20 vsy
王道歸來! 純jQuery版地址輸入輔助器
這個真是太好了,很期待
2013-05-20 貓咪圓滾滾
我的JSDC 2013筆記
something wrong? 是因為LC鍋正在煮東西嗎? 哈哈 我剛剛看了閃光洽的介紹...
2013-05-19 毛豆
【茶包射手日記】長不高的IFrame
由 CSS 的眼光來看,子容器的 100% 最大只能和父容器相同。 由於父容器的高度非由設計師指定...
Tags 分類檢視
.NET
AJAX
ASP.NET
ASP.NET MVC
ASP.NET保安
Autofac
Bicycle
C# 4.0
CODE
Coding4Fun
Collections
Community Server
CSS
Debug
EF
English
Entity Framework
Excel
Hiking
HTML5
IE
IIS
Javascript
jQuery
KB
Kendo UI
knockoutjs
Life
Linq
Live SDK
MCE
MCSE
Mobile
NuGet
Office 2013
Open XML
ORACLE
Performance
PowerShell
Reporting Service
RESTful Web Service
Security
Sharepoint
SignalR
Silverlight
Skype
SQL 2000
SQL 2005
SQL 2008
T4
TechEd
Telerik MVC
TFS
ThinkPad
Tips
Tools
Trouble-Shooting
Unobtrusive Validation
VBScript
Virus
Vista
Visual Studio
VS.NET 2003
VS11
VS2005
VS2008
VS2010
VS2012
Web
Windows 2008
Windows 7
Windows 8
Windows Phone
Work
WP7
WPF
XAML
中文編碼
慢跑
潛盾機
科學實驗
風花雪月
關於作者
一個醉心技術又酷愛分享的Coding魔人,十年的IT職場生涯,寫過系統、管過專案, 也帶過團隊,最後還是無怨無悔地選擇了技術鑽研這條路,近年來則以做一個"
有為的中年人
"自許。
文章典藏
May 2013 (18)
April 2013 (22)
March 2013 (15)
February 2013 (9)
January 2013 (10)
December 2012 (14)
November 2012 (11)
October 2012 (12)
September 2012 (30)
August 2012 (16)
July 2012 (17)
June 2012 (18)
May 2012 (9)
April 2012 (15)
March 2012 (12)
February 2012 (8)
January 2012 (6)
December 2011 (9)
November 2011 (11)
October 2011 (15)
September 2011 (15)
August 2011 (18)
July 2011 (24)
June 2011 (31)
May 2011 (16)
April 2011 (13)
March 2011 (13)
February 2011 (11)
January 2011 (15)
December 2010 (18)
November 2010 (12)
October 2010 (10)
September 2010 (18)
August 2010 (19)
July 2010 (22)
June 2010 (20)
May 2010 (19)
April 2010 (19)
March 2010 (24)
February 2010 (14)
January 2010 (24)
December 2009 (13)
November 2009 (14)
October 2009 (27)
September 2009 (20)
August 2009 (18)
July 2009 (18)
June 2009 (22)
May 2009 (14)
April 2009 (19)
March 2009 (17)
February 2009 (25)
January 2009 (16)
December 2008 (23)
November 2008 (20)
October 2008 (19)
September 2008 (21)
August 2008 (10)
July 2008 (16)
June 2008 (20)
May 2008 (20)
April 2008 (21)
March 2008 (18)
February 2008 (9)
January 2008 (18)
December 2007 (20)
November 2007 (22)
October 2007 (20)
September 2007 (23)
August 2007 (22)
July 2007 (19)
June 2007 (28)
May 2007 (21)
April 2007 (23)
March 2007 (23)
February 2007 (17)
January 2007 (9)
December 2006 (12)
November 2006 (15)
October 2006 (7)
September 2006 (9)
August 2006 (16)
July 2006 (14)
June 2006 (12)
May 2006 (12)
April 2006 (9)
March 2006 (4)
February 2006 (7)
January 2006 (8)
October 2005 (1)
August 2005 (1)
July 2005 (1)
June 2005 (2)
February 2005 (2)
January 2005 (5)
February 2004 (2)
January 2004 (13)
其他功能
這個部落格
Home
Feedjit live traffic feed
Syndication
Comments RSS