琉璃網站
CommunityServer BlogEngine.Net 中文技術社群網站

依標籤瀏覽

  • NOTES-產生具有BOM的UTF8編碼檔案

    上回有討論過 Excel開啟CSV時的中文編碼問題 ,今天發現關於.NET處理 BOM 的幾個特性,再補充三則筆記: 雖然預設UTF8Encoding的 encoderShouldEmitUTF8Identifier 參數預設為true,但GetBytes()的結果不會包含BOM File.WriteAllText與StreamWriter在沒有指定Encoding.UTF8時,會產出UTF-8編碼但沒有BOM的檔案 以下的範例中,只有F2.csv、F4.csv可以正確被Excel開啟,原因請見...
  • HttpUtility.ParseQueryString與雙頻式Request參數解析

    手邊有個需求,要把IIS Log Query String裡的參數解析出來,例如: "?a=LeftMenu&t=%u9ed1%u6697%u57f7%u884c%u7dd2&u=/Darkthread.aspx&_=1262748681109" 。需求不難,但要拆解參數、UrlDecode,眉角還挺多的。原本已捲起袖子打算自己動手寫,頓時想到佛心的HttpUtility Class可能會內建,一找之下,果然發現了好東西 HttpUtility.ParseQueryString...
  • Excel開啟CSV時的中文編碼問題補遺

    很久很久以前,我介紹過 CSV與Excel的整合應用 ,當時同事Daniel補充了一點"Excel只接受ANSI/BIG5編碼的CSV,若存成Unicode,Excel就無法正確顯示"。恰巧最近在河道上也看到有人在討論匯出Excel檔時的中文編碼問題,就決定把我後來研究的心得再整理一下。 經驗裡要透過ASPX轉出非BIG5的CSV的確會有問題,如以下的程式: <%@ Page Language= "C#" %> <script runat...
  • TIPS-jQuery.get整合BIG5編碼ASP

    直接用程式說明一下今天遇到的狀況,呼叫端是個純HTML網頁,用jQuery.get呼叫後端程式取得一段文字結果: < html xmlns ="http://www.w3.org/1999/xhtml" > < head > < meta http-equiv ="content-type" content ="text/html; charset=UTF-8" > < script src ="...
  • 【茶包射手專欄】ASP.NET在IIS7上讀不到Oracle中文

    測試Silverlight的過程中,發現我的Web Application Project,使用Visual Studio 2008直接執行時測試正常,但移到IIS7下執行,由Oracle讀取的中文卻會變成問號。 我將程式簡化如下: using (OracleConnection cn = new OracleConnection(cnStr)) { cn.Open(); OracleCommand cmd = new OracleCommand( "SELECT '良好'...
  • 【茶包射手專欄】本週最牛的茶包

    我寫了一個由Excel抓資料上傳到Server的小巨集,今天User抱怨上傳時發生錯誤,我查出錯誤訊息是:[ Informix ][ Informix ODBC Driver] Unspecified System Error = - 21005 好樣的,Informix真機車,出錯都只給代碼,不給說明的,幸好有Google大神加持,很快就查出來,這個錯誤與LOCALE有關。 語系問題? 這茶包遇到我算它倒楣,被 中文編碼 惡搞也不是一天兩天的事,我馬上意識到八成是打錯字,文字摻雜了Unicode難字...
  • TIPS-用ADO.NET寫入BIG5罕用字到ORACLE VARCHAR

    上回我們破解過" 用ADO.NET讀取ORACLE VARCHAR中的BIG5罕用字 ",今天又有人出了難題--如何將BIG5罕用字寫入ORACLE VARCHAR2欄位? 經實驗,單純用cmd.Parameters.Add("param", OracleType.VarChar).Value="含罕用字/造字的字串",則所有的罕字與造字在資料表中會變成問號。我猜與讀取時面對的問題完全相同,資料從網路接收到OracleClient解析完成的過程中...
  • TIPS-用ADO.NET讀取ORACLE VARCHAR中的BIG5罕用字

    BIG5字數不足是正體中文環境存在已久的問題,在Unicode尚未普及前,出現過許多各顯神通的解決方案,自行造字、廠商推出的擴充字集(例如: Microsoft CP950、Big5_eten)、BIG5+、BIG5E、 CNS11643 。(註: 想進一步了解的話有兩篇不錯的文章 1 、 2 ) 近年來Unicode已漸漸成為各家系統及平台都支援的主流標準,雖然無法滿足全部的中文字(例如: 姓名裡的自創字以及古文史籍中的罕見字),Unicode幾乎是全球解決跨國多語系的大一統終極方案,也獲得大部分開發人員的認同...
  • 【茶包射手專欄】QueryString的中文編碼問題

    同事在測試程式時,為求簡便,在IE地址列直接輸入測試用的參數,例如: MyApp.aspx?q=中文 (註: 此為不良示範,QueryString中如要指定英文字母及數字以外的字元,均應使用UrlEncode以求保險),結果ASPX中Request["q"]會抓到亂碼。 利用Visual Studio Debug時監看Request物件,會發現QueryString的原始Byte Array內容中,中文字是以BIG5方式編碼方式傳送的(有興趣研究的人可以試著用 中文編碼解析工具...
  • KB-UTF8Encoding And BOM

    static void TestXMLWriter() { MemoryStream ms = new MemoryStream(); XmlTextWriter xtw = new XmlTextWriter(ms, Encoding.UTF8); xtw.Formatting = Formatting.Indented; XmlDocument xd = new XmlDocument(); xd.LoadXml( "<Group><User>Jeffrey<...
  • 中文編碼解析工具 Ver 1.3

    上回發表 中文編碼解析工具 Ver 1.2 後,網友Esther建議再加上GBK-Q, GBK-B的編碼解析。 說實在話,我沒聽過這兩個名詞,但Google了一下馬上晃然大悟,原來指的是我們常在Mail Subject或收件寄件人資料上看見的那種編碼。格式像這樣: =?x-gbk?q?=B5=C4=B7=AD=D2=EB?= 怎樣,一Show出格式,大家都很有感覺了吧? 這Mail Server為了克服Mail Header只支援7bit字元所想出來用在底層的編碼法,卻常因為Mail Server...
  • 【茶包射手專欄】Cassini's Response Header Encoding

    先前有一篇文章討論 ASP.NET如何正確傳回中文下載檔名 ,網友帆歷經九九八十一難後,終於修成正果,還揪出一隻鬼 --- VS 2005內建的ASP.NET Development Server似乎不支援HeaderEncoding! 為了解開這個謎團,茶包射手再次整裝出發! 這回我們使用的辦案工具是 HttpWatch Pro (原因是在我的Vista上Fiddler啟動時的UAC升等視窗都會被埋掉,啟動後會導致IE7 Hang住,最要命的是它抓不到我存取Localhost的記錄,怕明明要射茶包變成修理小提琴...
  • 中文編碼解析工具 Ver 1.2

    有 網友建議 我的中文編碼解析工具應該要加上UTF-8的URL Encoding,讓我驚覺自己的孤陋寡聞。 當然,背後是有故事的... 前些時候,朋友跟我在討論 在T-SQL中實作UrlEncode的方法 。UDF寫出來了,卻發現不能用! 最後才搞清楚原來提供Web Interface的廠商,採用的是UTF-8的UrlEncoding,也就是"新增"要轉成%e6%96%b0%e5%a2%ae的格式,我用UDF轉出的%u65b0%u589e格式無法被解析。當時我認定在IE、Firefox中用Javascript...
  • KB-Open And Download File In Chinese Filename

    網友帆問了一個好問題: 他提到用Response.AddHeader("content-disposition", "attachment;filename=" & HttpUtility.UrlEncode(filename))的方式指定下載檔名稱,會發生另存新檔(Save)時可存成中文檔名,但如果選擇開啟(Open),直接用Excel等程式開啟時,檔名會呈現%e4%b8...這種UrlEncode的形式。 這是一個好問題的原因是我也被它困擾很久了...
  • 【茶包射手專欄】Unicode UrlEncode Link續集

    昨天看了 電腦玩物 介紹了 FeedJIT ,可以介紹最近十個到站網友從何處連來,由於挺好玩的,又很容易安裝,所以我就順手裝到我的Blog上(請看右方SideBar最下方)。 沒想到從此網頁就跳出了以下的BLOCKED SCRIPT Line: 1 Error: Invalid argument. 用Visual Studio Debugger追到的結果是出在FeedJIT的Script,問題出在這一列: if(/^(http:\/\/|\/)/.test(_c .href)) 立刻用偵錯視窗檢查一下...
Copyright 2010 琉璃網站 , 本站採用 CommunityServer 2008.5 為社群平台
Telligent 贊助台灣區 .Net DCP partner
各圖片與商標為各廠商所有,轉載本站圖文內容須需註明出處網頁