Browse by Tags

Oracle資料庫為AL32UTF8時VARCHAR2即可存Unicode
學海無涯! 一直以來, 要放Unicode文字就得開NVARCHAR欄位 的觀念深植我心。直到今天聽一位同事說: 如果Oracle資料庫的字元集設成Unicode,開VARCHAR就好了,不必為Unicode特意開NVARCHAR。 這顛覆了我的認知,但也不確定我根深蒂固的觀念是否隨軟體版本演進早已有所誤差。在噗浪上發問後,陸續收到一些回應: Access, MySQL, PostgreSQL都是如此(謝謝Bill, 鳥毅),噗友王圓外更是直接證實這點,於是也我寫了個小程式,找了台NLS_CHARACTERSET...
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開啟,原因請見...
Posted 28 January 2010 06:50 PMJeffrey | with no comments
Filed under:
HttpUtility.ParseQueryString與雙頻式Request參數解析
手邊有個需求,要把IIS Log Query String裡的參數解析出來,例如: "?a=LeftMenu&t=%u9ed1%u6697%u57f7%u884c%u7dd2&u=/Darkthread.aspx&_=1262748681109" 。需求不難,但要拆解參數、UrlDecode,眉角還挺多的。原本已捲起袖子打算自己動手寫,頓時想到佛心的HttpUtility Class可能會內建,一找之下,果然發現了好東西 HttpUtility.ParseQueryString...
CODE-將地址中的阿拉伯數字轉為中文大寫
前幾天同事討論到要將地址資料中的阿拉伯數字都轉成中文大寫(一二三四...),我想起了前些時候看到的 Microsoft Visual Studio International Feature Pack 2.0 就內建了數字轉中文大寫的功能,試作如下。 程式主要是用Regex去比對出數字(\d+)的部分,逐一換成中文大寫。而更換時我用算位置的方法而不直接用Replace,以免把"12弄123號"搞成"十二弄十二3號";也因為要算位置,加上每次更換完字串長度可能會改變...
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方式編碼方式傳送的(有興趣研究的人可以試著用 中文編碼解析工具...
中文亂碼"蕞蕞蕞蕞"是怎麼來的?
同事遇到一個問題,User抱怨SSIS由ORACLE轉資料到SQL後,所有的中文字都變成"蕞蕞蕞蕞..."了。 (這個字唸"最",不唸"叢"! 慣用倉頡的我本來是不會去研究讀音的,不過看到個性豪邁的User小姐在信中寫道"不會唸厚, 拎北 查好了,這二個字叫『最最』不叫『叢叢』…",我想我這輩子都不會唸錯了 XD) SSIS在ORACLE與SQL搬資料時的編碼問題,過去 遇過 ,加上發現只有用特定的機器跑SSIS時會變亂碼...
TIPS-還原NCR編碼
網友Eric問到 關於 NCR 轉換的事 ,查了一下,發現我過去有介紹過 toNCR() 的做法,倒沒提到fromNCR(),這裡補上,給有需要的人參考。 程式只有短短幾行,主要靠Regex強大的比對功能解決大部份的難題。一口氣將字串中所有的&# nnnn ;抓出來, nnnn 轉成整數再轉成char,接著將字串的編碼一一置換掉,搞定! private string fromNCR( string s) { foreach (System.Text.RegularExpressions.Match...
【茶包射手系列】忠貞不二的CSS檔
悶! 抓了好久! 同事設計好頁面樣式,給了我一個HTML跟CSS,讓我套用到ASP.NET網頁上。我在ASPX裡用<link href="site.css" type="text/css" rel="stylesheet" />套用樣式,卻怎麼都無法生效! 最詭異的是,CSS無法生效的ASPX,用IE檢視原始檔後另存成HTML,跟ASPX放在同一個目錄下用IE檢視,CSS效果就出得來,這這這... 用 IE Developer...
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</User><...
Posted 31 October 2007 12:39 AMJeffrey | with no comments
Filed under: , ,
更多文章 下一頁 »

搜尋

Go

<September 2010>
SunMonTueWedThuFriSat
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789
 
RSS
【工商服務】
最新回應

Tags 分類檢視
關於作者

一個醉心技術又酷愛分享的Coding魔人,十年的IT職場生涯,寫過系統、管過專案, 也帶過團隊,最後還是無怨無悔地選擇了技術鑽研這條路,近年來則以做一個"有為的中年人"自許。

文章典藏
其他功能

這個部落格


BlogLook Score and Rank

Syndication