Ssms
網格結果中的 SSMS 和 Unicode 字型
我寫了這個簡單的更新查詢:
update foo set test ='褠ఓ�ᵂ뱗텬㰗' where id = 1
$$ test $$是一個 nvarchar(16) 列。它將包含一個加密值。 在 SSMS (10.50) 中,我將網格結果和文本結果的字型設置為 Lucida Sans Unicode。字形 (褠ఓ�ᵂ뱗텬㰗) 顯示在查詢編輯器視窗中。但是網格結果和文本結果視窗總是顯示簡單的問號“????????”而不是褠ఓ�ᵂ뱗텬㰗。
在工具 -> 選項中進行字型更改後,我關閉並打開了 SSMS。
任何建議,將不勝感激。我通常不需要了解本專欄的內容,但在測試以確保客戶端應用程序通過正確的數據發送時,查看問號以外的內容會很有幫助。
如果要在
update
語句中插入 Unicode 文本,則需要提供格式為 Unicode 字元串N'...'
,如update foo set test = N'褠ఓ�ᵂ뱗텬㰗' where id = 1
nvarchar
否則,如果 SQL Server 無法將字元映射到相應的非 Unicode 字元,即使在列中,這些字元也會真正轉換為問號。