首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

Microsoft SQL Server 2000 國際化功能(二):定序規則完整解析

     編輯:關於SqlServer

Microsoft SQL Server 2000 國際化功能(二)

定序規則

排序資料看似理所當然,但非英語語言有不同排序規則。西班牙語將「ch」視為單一字元排在「h」之後。處理錯誤會疏遠最終用戶。解決方案:定序規則與字串標準化。標準化非指資料庫設計正規化,而是比較兩字串以便排序的方法,可透過建立索引優化。

對非 Unicode 欄位,定序規則另一重要含義:指定資料字碼頁,決定可顯示字元。資料可在 Unicode 欄位間自由移動,但非 Unicode 欄位間移動受限。

SQL Server 6.5 及早期版本定序

依賴定序指定語言字碼頁。存在不同排序順序相關限制(如各種拉丁語)。使用 Latin-1 僅支援西歐語言。單一執行個體可顯示的不同地區設定數受限。相同問題適用於後期版本非 Unicode 欄位定序。「最適合字碼頁」語言(如波斯語)問題亦同樣存在。

SQL Server 7.0 定序

每台伺服器有一個 Unicode 定序與一個非 Unicode 定序。非 Unicode 定序由字碼頁與排序順序 ID 組成。例如拉丁語言允許區分/不區分大小寫排序;簡體中文允許筆畫/拼音排序。

Unicode 定序中可包含任何語言字元,提供各種定序確保特定差異正確處理。解決「最適合字碼頁」問題:對波斯語資料使用通用 Unicode 定序排序即可提供用戶所需結果。Unicode 定序由地區設定 (LCID) 與多重比較樣式組成。地區設定通常按國家/文化命名,依該地區標準排序。Unicode 定序為採用 Unicode 標準的所有字元提供排序順序,指定地區設定具優先權。

SQL Server 7.0 支援的 Unicode 定序(部分)

LCID說明
1033通用 Unicode
33280二進位順序
1027加泰隆尼亞語
197636中文漢語拼音(台灣)
2052中文標點符號
133124中文筆畫
1028中文筆畫(台灣)
1050克羅埃西亞語
1029捷克語
1043荷蘭語
1061愛沙尼亞語
1036法語
66615現代喬治亞語
1031德語
66567德語電話簿
1038匈牙利語
66574匈牙利技術
1039冰島語
1040義大利語
1041日語
66577日語 Unicode
1042韓語
66578韓語 Unicode

未列出的地區設定應使用「通用 Unicode 定序」。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved