Einen text umwandeln, der Wert der in SQL Server von UTF8 zu ISO 8859-1
Ich habe eine Spalte in SQL Server mit utf8 SQL_Latin1_General_CP1_CI_AS-Codierung. Wie kann ich umwandeln und speichern von text in ISO 8859-1-Kodierung? Ich möchte tun, was in einer Abfrage auf SQL-Server. Irgendwelche Tipps?
Olá. Gostei do jogo. Quando "baixei" até achei que não iria curtir muito
- Seit SQL Server wirklich nicht unterstützt UTF-8 - das wird eine Herausforderung!
- Was ist der Datentyp der Spalte: nvarchar, varchar-oder varbinary? Und ist es als Klartext gespeichert, oder ist Prozent-codiert?
- Es wird als Klartext gespeichert und ist vom Typ text. Ich habe ein snippet zu der Frage
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich geschrieben habe, eine Funktion zu reparieren UTF-8-text, gespeichert in einem
varchar
Feld.Überprüfen Sie den festen Werten Sie können es verwenden, wie diese:
Ausgabe:
Code:
FLOOR(LOG(2 * ~CONVERT(tinyint, octet) + 1)/LOG(2)) - 1)
LOG
Fehler in pre-2012-Versionen von SQL Server.SELECT dbo.DecodeUTF8String(N'abcăâîșț😀✔?')
, die produzieren sollteabcăâîșț?✔?
, aber es gibt nurabcăâîșț✔?
.Jason Penny hat auch geschrieben eine SQL-Funktion zum konvertieren von UTF-8 Unicode (MIT-Lizenz) arbeitete, auf ein einfaches Beispiel für mich:
Die angekreuzt Antwort von Anthony "sieht" sich besser für mich, aber vielleicht laufen beide, wenn tun, die Konvertierung und untersuchen alle discrepencies?!
Auch wir nutzten die sehr hässlichen code unten, um zu erkennen, BMP Seite unicode-Zeichen, wurden als UTF-8 kodiert und dann in varchar in nvarchar-Felder konvertiert werden kann auf UCS-16.
Oben:
Fand ich die Abfrage, die ich tun müssen, nur nicht die Kodierung noch.