Там может быть две причин для SQL-сервера, чтобы показать некоторые данные Юникода как ????????
Причина 1.
когда данные Юникода бледные вставок или изменений в эту колонку пользователя вратарь префикса строки с N
.
Причина 2.
Столбец сам не является NVARCHAR означает, что он не позволяет хранить символы юникода для хранения.
Пример
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/Arabic. Ouch: S
Дополнительная информация необходима. Как вы получаете объект «feed» с сервера (покажите свой код)? Какой формат и кодировка используется сервером для отправки ответа? –
Нет, я не .. –
@MartinR ok. Я использую частные библиотеки для доступа к удаленному sql-серверу, и я получаю этот результат от базы данных. – user3094994