Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come decodificare la stringa unicode base64 usando T-SQL

I dati codificati in base 64 contengono una stringa UTF-8. MS SQL non supporta UTF-8, solo UTF-16, quindi non riesce per tutti i caratteri al di fuori di ASCII.

La soluzione è inviare i dati come nvarchar subito, o per codificare la stringa come UTF-16 (e inviarla come varbinary o base-64, se necessario).

Sulla base della documentazione Erlang, ciò potrebbe richiedere una libreria esterna, unicode :http://www.erlang.org/doc/apps/stdlib/ unicode_usage.html

Fondamentalmente, l'impostazione predefinita sembra essere UTF-8, è necessario specificare UTF-16 manualmente. Il supporto per UTF-16 sembra un po' goffo, ma dovrebbe essere abbastanza fattibile.