Кодировать строку в формат UTF-8 - PullRequest
0 голосов
/ 15 октября 2019

Я пытаюсь кодировать / декодировать переменную в SQL Server 2012. Я могу декодировать переменную, но когда я пытался кодировать ее с помощью декодированного значения, оно не показывало то же значение.

DECLARE @DecodedVal VARCHAR(500)
DECLARE @EncodedVal VARCHAR(500) 
DECLARE @NewDecodeVal VARCHAR(500)

 --//decode
SET @DecodedVal= N'SW5mb3JtYXRpb25zIHN1ciBsZXMgY29uZsOpcmVuY2VzIHTDqWzDqXBob25pcXVlcw=='

SET @EncodedVal = (
    SELECT CONVERT(VARCHAR(2000), CONVERT(XML, '<?xml version="1.0" encoding="UTF-8"?>' + CONVERT(VARCHAR(2000), CONVERT(XML, @DecodedVal).value('.', 'varbinary(max)'))))
    )

SELECT @EncodedVal

--//encode
SET @NewDecodeVal = (SELECT CAST(N'' AS XML).value('xs:base64Binary(xs:hexBinary(sql:column("bin")))', 'NVARCHAR(MAX)') Base64Encoding
FROM (  SELECT CAST(@EncodedVal AS VARBINARY(MAX)) AS bin) AS bin_sql_server_temp)

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