Browse by Tags

讓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字型的警示,設為"標楷體"則正常...
Oracle資料庫為AL32UTF8時VARCHAR2即可存Unicode
學海無涯! 一直以來, 要放Unicode文字就得開NVARCHAR欄位 的觀念深植我心。直到今天聽一位同事說: 如果Oracle資料庫的字元集設成Unicode,開VARCHAR就好了,不必為Unicode特意開NVARCHAR。 這顛覆了我的認知,但也不確定我根深蒂固的觀念是否隨軟體版本演進早已有所誤差。在噗浪上發問後,陸續收到一些回應: Access, MySQL, PostgreSQL都是如此(謝謝Bill, 鳥毅),噗友王圓外更是直接證實這點,於是也我寫了個小程式,找了台NLS_CHARACTERSET...
Posted 15 July 2010 07:28 PMJeffrey | 1 comment(s) 11,469
Filed under: ,
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 9,626
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 ="...
Posted 10 July 2009 02:29 AMJeffrey | 1 comment(s) 11,555
Filed under: , ,
【茶包射手專欄】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時會變亂碼...
Posted 04 July 2008 08:34 AMJeffrey | 7 comment(s) 22,455
Filed under: ,
TIPS-還原NCR編碼
網友Eric問到 關於 NCR 轉換的事 ,查了一下,發現我過去有介紹過 toNCR() 的做法,倒沒提到fromNCR(),這裡補上,給有需要的人參考。 程式只有短短幾行,主要靠Regex強大的比對功能解決大部份的難題。一口氣將字串中所有的&# nnnn ;抓出來, nnnn 轉成整數再轉成char,接著將字串的編碼一一置換掉,搞定! private string fromNCR( string s) { foreach (System.Text.RegularExpressions.Match...
更多文章 « 上一頁 - 下一頁 »

搜尋

Go

<March 2023>
SunMonTueWedThuFriSat
2627281234
567891011
12131415161718
19202122232425
2627282930311
2345678
 
RSS
創用 CC 授權條款
【廣告】
twMVC
最新回應

Tags 分類檢視
關於作者

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

文章典藏
其他功能

這個部落格


Syndication