對於 Unicode GBK BIG5 的誤解

2022-03-13 01:19:40 字數 995 閱讀 1720

今天,使用繁體windows xp測試了專案的顯示和輸入,驚奇的發現所輸入的繁體字在資料庫中被正確的顯示了,以為是被自動轉化為了gbk編碼,可是,這是誰轉換的呢,是.net、資料庫、還是windows本身~~

原因還是在於 unicode ,在於作業系統,不在於.net,也不在於資料庫。

在我糾正了乙個被「萬能五筆」所誤導的思想之後,我知道了原因了。

1. windows nt / windows 2000 以上的作業系統使用 unicode 作為內碼,而win98 等則使用本地編碼 ansi(如 gb、big5) 等;

2. 在簡體的 windows xp下,word或excel的「簡轉繁」輸出的不是 gbk 碼,而是 unicode 碼,而各種輸入法,包括「萬能五筆」所打出來的簡體字也不是gb內碼的,而都是unicode 碼。 ---- 這正是「萬能五筆」 給我的誤導,它的 「gb/big5轉換輸出」選單中第一項顯示的是「簡體版:gb顯示,輸出(gb內碼)簡體字」, 實際上在簡體windows xp下,「輸出(gb內碼)簡體字」自動變為「輸出unicode簡體字」,同樣道理,在繁體windows xp下,「輸出(big5內碼)繁體字」自動變為「輸出unicode繁體字」;

3.  在簡體windows xp下,「輸出(big5內碼)繁體字」則真的輸出的是 big5 的繁體字,同理,在繁體windows xp下,「輸出(gb內碼)簡體字」則真的輸出的是 gb內碼 的簡體字,都不是 unicode內碼;

4.  在文字檔案中儲存 unicode內碼 的文字時,如果使用的儲存格式是 ansi ,那麼在繁體windows xp下,儲存「雌」字,在簡體 windows xp下開啟便看到了「慧」字,這是因為這個檔案被轉化為了使用 big5內碼來儲存,而非 unicode;

5. 在excel中應該沒有 ansi編碼 的儲存格式可以選擇,這也就說明了為什麼i-tooling發excel給台灣人時可以不考慮簡繁體問題,因為excel中的全是unicode。

關於「字元編碼研究」

對於物件查詢

結論 對於物件查詢 1 使用list的時候會將物件全部取出,而使用iterate則只先將物件主鍵取出,然後在使用的時候再乙個個取出。2 list第二使用的時候會繼續重新資料庫中取出,而iterate則會先成快取中查詢,如果沒找到再去資料庫中取出。對於屬性查詢 條件 查詢快取關閉 兩者沒什麼差別,根據...

對於物件查詢

對於物件查詢 1 使用list的時候會將物件全部取出,而使用iterate則只先將物件主鍵取出,然後在使用的時候再乙個個取出。2 list第二使用的時候會繼續重新資料庫中取出,而iterate則會先成快取中查詢,如果沒找到再去資料庫中取出。對於屬性查詢 條件 查詢快取關閉 兩者沒什麼差別,根據查詢物...

對於order by子句

order by子句指定排序順序 select username from user order by username 依據username的字母順序對於查詢出來的username進行排序,預設是公升序 a z 也可以進行降序排序,必須指定desc關鍵字 在上面的sql語句變為 select us...