无法解码base64字符串中的阿拉伯字符。 当我解码它必须是这样的:'سلامجیران'(使用base64encode网站)。我尝试像这样解码:
SELECT CAST(
CAST(N'' AS XML).value('xs:base64Binary("2LPZhNin2YUg2KzbjNix2KfZhg==")' , 'VARBINARY(MAX)')
AS NVARCHAR(MAX)
) UnicodeEncoding ;
根据这个答案:Base64 encoding in SQL Server 2005 T-SQL 但是有这样的反应:'돘蓙Ꟙ藙 ' 有没有办法正确解码阿拉伯字符?
答案 0 :(得分:2)
要将UTF-8字符串转换为nvarchar,您可以使用CLR函数(例如:https://stackoverflow.com/a/14041069/1187211)或T-SQL函数(例如:https://stackoverflow.com/a/28412587/1187211)。
使用第二个功能,您可以像这样解码数据:
SELECT dbo.DecodeUTF8String(CAST(N'' AS XML).value
('xs:base64Binary("2LPZhNin2YUg2KzbjNix2KfZhg==")','VARBINARY(MAX)'))