2013-11-21 47 views
0

我有一個查詢,類似於此:ISNULL表達式顯示??? -s的結果

SELECT 
    Field.Table1, 
    Field.Table2, 
    ISNULL(Field.Table3, 'My text here') 
FROM Table. 

「在這裏我的文字」是格魯吉亞的Unicode(字面上看起來像這樣「ვერცხლი」)。由於我的查詢我得到???????而不是我在ISNULL中放置的文本。當我嘗試輸入俄羅斯西里爾語爲'我的文字在這裏'時也是如此。

Field.Table3nvarchar(150),不爲空。在我的查詢中可以得到NULL,因爲我在那裏使用了Outer Join(這在上面我沒有提到)。

任何人都可以幫助我嗎?

+0

您正在使用什麼數據庫? –

+0

這是一個字符集問題。在你的代碼的某處 - > db-> client->顯示渲染鏈,你使用了不同的字符集,導致你的數據庫內容被破壞。渲染chaing必須始終使用相同的字符集,或連接適當的轉換邏輯。 –

+3

如果SQL Server缺少'N'前綴。 'ISNULL(Field.Table3,N'ვერცხლი')' –

回答

0

使用前N列定義

SELECT 
    Field.Table1, 
    Field.Table2, 
    ISNULL(Field.Table3, N'My text here') 
FROM Table.