Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como decodificar a string unicode base64 usando T-SQL


Seus dados codificados em base 64 contêm uma string UTF-8. O MS SQL não suporta UTF-8, apenas UTF-16, portanto, falha para quaisquer caracteres fora do ASCII.

A solução é enviar os dados como nvarchar imediatamente, ou para codificar a string como UTF-16 (e enviá-la como varbinary ou base-64, conforme necessário).

Com base na documentação do Erlang, isso pode exigir uma biblioteca externa, unicode :http://www.erlang.org/doc/apps/stdlib/ unicode_usage.html

Basicamente, o padrão parece ser UTF-8, você precisa especificar UTF-16 manualmente. O suporte a UTF-16 parece um pouco desajeitado, mas deve ser bastante factível.