我在SQL Server中含有需要包含Unicode數據的列的數據庫(它包含了來自世界各地如القاهرة開羅用戶的地址)如何恢復顯示在SQL Server中的Unicode數據?
此列是數據庫默認的排序規則的nvarchar列(Latin1_General_CI_AS),但我注意到通過包含非英文字符的SQL語句插入到其中的數據,並顯示爲?????。
解決方案似乎是,我沒有使用n前綴,例如
INSERT INTO table (address) VALUES ('القاهرة')
相反的:
INSERT INTO table (address) VALUES (n'القاهرة')
我的印象是,統一將自動轉換爲nvarchar列,我並不需要這個前綴下,但是這似乎是不正確的。
問題是我仍然有一些數據在這個列中顯示爲?????在SQL Server Management Studio中,我不知道它是什麼!
數據是否仍然存在,但字符編碼不正確,無法顯示,但仍然可挽救(如果有的話,我該如何恢復它?),還是消失了?
感謝,
湯姆
單詞顯示與SSMS完全相同:「??????」。在我正確插入unicode數據的其他表中,我確實看到了阿拉伯字符。 – Loftx 2010-02-11 17:33:43
然後,你可能運氣不好 – SQLMenace 2010-02-11 17:37:16
我不得不+1,1 SQLMenace的評論..因爲這是我認爲是不幸的答案是Loftx的問題... – Sung 2010-02-11 17:58:22