Ssms

網格結果中的 SSMS 和 Unicode 字型

  • December 13, 2014

我寫了這個簡單的更新查詢:

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 字元,即使在列中,這些字元也會真正轉換為問號。

引用自:https://dba.stackexchange.com/questions/86055