在linq語言中,不能準確按拼音排序

2022-03-18 02:02:16 字數 1048 閱讀 1653

在專案中,利用

orderby/orderbydescending, thenby/thenbydescending

這4個方法排序時,

發現了這樣的問題:在本機測試,能正確按拼音排序;但是放上伺服器是,就不能正確的按拼音排序了。

原來orderby/orderbydescending, thenby/thenbydescending

中若是linqtosql

的話,就需要看下資料庫機器得

sql是否為中文版的?若資料庫是英文版,就有可能出現不能正確的按拼音排序的情況,這時候,可以通過修改資料庫屬性來達到按拼音正確排序:開啟

sql server management studio

,選擇對應的資料庫,右擊選擇屬性

(r),點選選項

(options)

,第乙個排序規則

(collation)

,請選擇 chinese_prc_ci_as。ps:

排序規則名稱由兩部份構成,前半部份是指本排序規則所支援的字符集。  

如:  

chinese_prc_cs_ai_ws    

前半部份:指unicode字符集,chinese_prc_指針對大陸簡體字unicode的排序規則。  

排序規則的後半部份即字尾   含義:    

_bin   二進位制排序    

_ci(cs)   是否區分大小寫,ci不區分,cs區分  

_ai(as)   是否區分重音,ai不區分,as區分     

_ki(ks)   是否區分假名型別,ki不區分,ks區分    

_wi(ws)  是否區分寬度   wi不區分,ws區分    

區分大小寫:如果想讓比較將大寫字母和小寫字母視為不等,請選擇該選項。  

區分重音:如果想讓比較將重音和非重音字母視為不等,請選擇該選項。如果選擇該選項,比較還將重音不同的字母視為不等。  

區分假名:如果想讓比較將片假名和平假名日語音節視為不等,請選擇該選項。  

區分寬度:如果想讓比較將半形字元和全形字符視為不等,請選擇該選項

linq中不能準確按拼音排序

在linqtoobject中,利用 orderby orderbydescending,thenby thenbydescending 這4個方法排序時,發現不能正確的按拼音排序,所以在排序時增加編碼支援 encoding enc encoding.getencoding gb2312 dict.o...

在C語言中的用法

1.模運算,即求餘數。表示式 a b 就是計算 a 除以 b 得出的餘數。例如 8 6 的結果是 22.轉義符,比如在 scanf 和 printf 中的輸入引數常出現帶有 的表示引數型別的變數,它的作用是將輸出的資料轉換為指定的格式輸出。格式說明總是由 字元開始的。格式字元有d,o,x,u,c,s...

在 Go 語言中處理 Unicode

如果 go 通常是指在公園散步,用go語言處理unicode碼可以描述為不小心走進了雷區,比如,如果我們要獲取從前端頁面的一句簡單字串 hello,世界 的長度.會得到什麼結果?1fmt.println len hello,世界 2 13 等下,剛才發生了什麼?長度難道不該是9麼?其他額外的4個字元...