解決mssql for linux 中文亂碼問題

什麼叫一波未平一波又起,這就是,好不容易安裝完成了,在用的時候居然出現了亂碼,很是頭疼,但還是解決了這個蛋疼的問題,在windows中使用mssql這麼久,從來沒出現過中文亂碼的情況,具體原因是出現在SQL Server的安裝配置上,默認安裝時,系統默認的排序規則時拉丁文的排序規則,在安裝過程中從來沒注意過,但在CentOS 中怎麼配置我就不得而知了,我只能在windows的mssql 客戶端進行配置了,解決方法:

創建數據庫時,將數據庫的排序規則指定爲中文簡體(Chinese_PRC_CS_AI_WS),注意一點,如果這時數據庫中有的表存在數據了,這樣操作會失敗,所以建議大家在一開始創建數據庫的時候就先設置好排序規則,以免麻煩。操作步驟,右鍵數據庫屬性->點擊選項->修改排序規則,如圖:


設置完後,再添加的數據就不會出現亂碼了。如果是在windows上出現亂碼的情況一樣可以這樣設置,當然還有粗暴的方式,即使重裝系統,重裝sql,選擇好排序規則後再安裝。

參數解釋如下:
前半部份:指UNICODE字符集,Chinese_PRC_指針對大陸簡體字UNICODE的排序規則。
排序規則的後半部份即後綴 含義:
  _BIN 二進制排序
  _CI(CS) 是否區分大小寫,CI不區分,CS區分
  _AI(AS) 是否區分重音,AI不區分,AS區分   
  _KI(KS) 是否區分假名類型,KI不區分,KS區分 
        _WI(WS) 是否區分寬度WI不區分,WS區分 
區分大小寫:如果想讓比較將大寫字母和小寫字母視爲不等,請選擇該選項。
區分重音:如果想讓重音和非重音字母視爲不等,請選擇該選項。如果選擇該選項,
比較還將重音不同的字母視爲不等。
區分假名:如果想讓比較將片假名和平假名日語音節視爲不等,請選擇該選項。
區分寬度:如果想讓比較將半角字符和全角字符視爲不等,請選擇該選項

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章