可以有用於SQL Server兩個可能的原因,以顯示像????????
原因一些unicode數據1.
當unicode數據寰插入或更新到 柱用戶didnt與N
前綴字符串。
原因2.
列本身isnt NVARCHAR表示它不允許存儲要存儲的Unicode字符的 。
例
DECLARE @TABLE TABLE
(Column1 VARCHAR(100), --<-- VARCHAR DataType
Column2 NVARCHAR(100), --<-- NVARCHAR DataType
Column3 NVARCHAR(100)COLLATE Arabic_CI_AS --<-- NVARCHAR DataType with specific
) -- arabic collation
INSERT INTO @TABLE VALUES
('هذا هو العربي','هذا هو العربي', 'هذا هو العربي'), -- Data with out N Prefix
(N'هذا هو العربي',N'هذا هو العربي', N'هذا هو العربي') -- Data with N Prefix
SELECT * FROM @TABLE
結果
╔═══════════════╦═══════════════╦═══════════════╗
║ Column1 ║ Column2 ║ Column3 ║
╠═══════════════╬═══════════════╬═══════════════╣
║ ??? ?? ?????? ║ ??? ?? ?????? ║ ??? ?? ?????? ║
║ ??? ?? ?????? ║ هذا هو العربي ║ هذا هو العربي ║
╚═══════════════╩═══════════════╩═══════════════╝
只有數據在哪裏列允許存儲Unicode字符和當我使用的N-前綴將具有存儲在其餘的數據僅表示???????。
在你的情況下,你只是丟失了數據,你不可能將它轉換回unicode /阿拉伯字符。 Ouch:S
需要更多信息。你如何從服務器獲取'feed'對象(顯示你的代碼)?服務器用什麼格式和編碼發送響應? –
不,我不是.. –
@MartinR好的。我正在使用私有庫來訪問遠程sql服務器,我從數據庫中獲得這個結果。 – user3094994