Posted on 2010-08-17 17:23
zolly 閱讀(5387)
評論(0) 編輯 收藏
如果SQL Server 2005系統排序規則為"Chinese_PRC_CI_AS",那么數據庫及數據庫字段排序規則都默認為"Chinese_PRC_CI_AS",如果字段為varchar,插入中文是完全沒問題的。
如果SQL Server 2005系統排序規則為"SQL_Latin1_General_CP1_CI_AS",那么數據庫及數據庫字段排序規則都默認為"SQL_Latin1_General_CP1_CI_AS",如果字段為varchar,插入中文,數據庫顯示為"?????",且數據無法修復。解決辦法如下:
1。 修改字段排序規則為"Chinese_PRC_CI_AS",varchar改nvarchar,SQL插入語句中,中文字符前加"N",可以插入中文字符。
2。 修改數據庫排序規則為"Chinese_PRC_CI_AS",字段保持varchar,SQL語句不變,插入中文失敗,查看字段屬性后發現,字段排序規則實際上沒有變化,還是默認為"SQL_Latin1_General_CP1_CI_AS",再修改字段排序規則,varchar不變,SQL不變,可以插入中文字符。
總結:
1。 修改系統排序規則沒有試過。
2。 修改數據庫排序規則不會把數據庫中字段的排序規則改掉,但是為了顯示中文,數據庫排序規則必須改。
3。 僅僅修改字段排序規則,還不能完全解決問題。