Проблема с символами при преобразовании типа данных изображения в строку в SQL Server - PullRequest
0 голосов
/ 30 ноября 2018

Я выполняю запрос следующим образом:

SELECT CAST(CAST(IDAT as varbinary(max)) as varchar(max)) 

Тип столбца IDAT - это «изображение», запрос выполняется успешно, но некоторые турецкие символы выглядят так: «Å§aÄŸdaÅŸ».это должно быть 'çağdaş'.Я попробовал это:

SELECT CAST(CAST(IDAT as varbinary(max)) as varchar(max)) COLLATE Turkish_CI_AS

Ничего не изменилось.У кого-нибудь есть идеи для этой ситуации?

1 Ответ

0 голосов
/ 30 ноября 2018

Это двоичное значение 0x68C3BC736579696E20616C692076656C69206E6F746C617220C59F65726D696E2061C49F72C4B120C3B66BC3BC7A20C3A761C49F6461C59F в кодировке UTF-8, которое преобразуется в текст hüseyin ali veli notlar şermin ağrı öküz çağdaş.К сожалению, SQL Server не поддерживает UTF-8 до 2019 года, поэтому вы должны декодировать его самостоятельно.Этот вопрос объясняет, как это сделать.

Если вы можете изменить приложение и сохранить значение в UTF-16, вы сможете преобразовать его в NVARCHAR напрямую (или просто сохранитьданные в виде текста).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...