Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

So dekodieren Sie Base64-Unicode-Strings mit T-SQL

Ihre Base-64-codierten Daten enthalten eine UTF-8-Zeichenfolge. MS SQL unterstützt kein UTF-8, sondern nur UTF-16, daher schlägt es bei allen Zeichen außerhalb von ASCII fehl.

Die Lösung besteht darin, die Daten entweder als nvarchar zu senden sofort oder um den String als UTF-16 zu kodieren (und ihn als varbinary zu senden oder Base-64, je nach Bedarf).

Basierend auf der Erlang-Dokumentation erfordert dies möglicherweise eine externe Bibliothek, unicode :http://www.erlang.org/doc/apps/stdlib/ unicode_usage.html

Grundsätzlich scheint der Standard UTF-8 zu sein, Sie müssen UTF-16 manuell angeben. Die UTF-16-Unterstützung scheint etwas klobig zu sein, sollte aber durchaus machbar sein.