2011年3月23日 星期三

MS SQL char 與 varchar 和 nchar 與 nvarchar

參考資料:http://blog.yam.com/clayclay76/article/25172410
http://msdn.microsoft.com/zh-tw/library/ms186939%28v=sql.90%29.aspx

char在MS SQL中
假設指定長度為char(10)
如果填入的值是abcd
因為長度沒有達到10
所以會自動在字串右邊補空白
也就是abcd後面會有6個空白


而varchar則是相反
假設指定長度為varchar(10)
如果填入的值是abcd
並不會自動填補空白
字串一樣是abcd


固定長度 (nchar) 或可變長度 (nvarchar) 的 Unicode 資料,且使用 UNICODE UCS-2 字元集。
nchar [ ( n ) ]
n 字元的固定長度 Unicode 字元資料。n 必須是 1 到 4,000 的值。儲存體大小是 n 位元組的兩倍。nchar 的 SQL-2003 同義字是 national charnational character
nvarchar [ ( n | max ) ]
可變長度,Unicode 字元資料。n 可以是 1 到 4,000 的值。max 表示最大儲存體大小是 2^31-1 位元組。儲存體大小是輸入字元數的兩倍 + 2 位元組 (以位元組為單位)。輸入的資料長度可以是 0 字元。nvarchar 的 SQL-2003 同義字是 national char varyingnational character varying

2011年3月22日 星期二

ASP和PHP語法對照表

資料來源:http://www.design215.com/toolbox/asp.php

要改寫某些案子的時候就可以拿來參考.

2011年3月18日 星期五

Facebook在ie使用stream publish被IE8的XSS (Cross Site Scripting) filter擋掉的解法

資料來源:http://wiselysong.blogspot.com/2010/10/2010-10-08-facebook-javascript-sdk-in.html

百思不得其解的狀況下,拜求google大神.得到的籤詩如下:

HTML最前方的!DOCTYPE定義區段沒寫才造成的。這在非IE8瀏覽器下基本都不會有影響的,但是在IE8底下就會造成這問題!
在HTML最前面補上了 <!DOCTYPE html>
同樣的中文內容在測試會被擋掉的在這就都可以正常了 .

用ie打開UTF8的網頁卻一片空白..........

資料來源:http://zonble.net/archives/2004_05/485.php

用ie以外的瀏覽器看都正常.唯獨ie一開就一片空白.怎解?
解法如下:

如果使用的是Mozilla、Mozilla Firefox、Sarafi等其他目前流行的瀏覽器,通常就不會有這樣的問題。
如果您在Windows作業系統上,使用Internet Explorer瀏覽器的話,往往會出現這樣的狀況:在瀏覽使用UTF-8編碼製作的中文網頁時,瀏覽器並不能夠自動偵測網頁的編碼方式,從原本預設的語 系編碼(例如Big5正體中文等),切換成改以UTF-8編碼,結果畫面上就是一片空白,什麼都沒有,即使在網頁當中,已經加上了特別標明內文語系的 metadata標籤:

在Internet Explorer中,還是沒有辦法正常處理。
我之前也遇過這樣的狀況,在做了一些嘗試之下,發現有個方法可以解決這樣的問題,那就是,在網頁的<head> 到</head>當中的檔頭部份,調整一下各種<meta>標籤在檔案中的順序。如果說,在<head>當中,排在 最前面的是像網頁標題標籤<title></title>,當中就出現了UTF-8中文,就很容易造成在瀏覽器中畫面一片空白, 我在想,或許是因為Internet Explorer會一開始就用預設的語系解讀、分析網頁,而在標題的地方遇到UTF-8字元,就解讀錯誤,而不會繼續往下讀,讀到meta標籤,讀出這個 網頁是以UTF-8編碼。
所以,在</head>的部份,把”Content-Type”放在最前面,便可以解決這樣的問題了。

文章來源: http://zonble.net/archives/2004_05/485.php