Convertir le texte en valeur dans SQL Server à partir de l'utf-8 à la norme ISO 8859-1
J'ai une colonne dans SQL Server avec utf8 SQL_Latin1_General_CP1_CI_AS encodage. Comment puis-je convertir et enregistrer le texte dans l'encodage ISO 8859-1? Je voudrais faire la chose dans une requête sur le Serveur SQL server. Des conseils à donner?
Olá. Gostei jogo. Quando "baixei" até achei que não iria curtir muito
Depuis SQL Server ne supporte pas l'UTF-8 - c'est un défi!
Quel est le type de données de la colonne: type nvarchar, varchar ou varbinary? Et il est stocké sous forme de texte brut, ou est-ce pour cent codé?
Il est stocké sous forme de texte, et est de type texte. J'ai ajouté un extrait de la question
Quel est le type de données de la colonne: type nvarchar, varchar ou varbinary? Et il est stocké sous forme de texte brut, ou est-ce pour cent codé?
Il est stocké sous forme de texte, et est de type texte. J'ai ajouté un extrait de la question
OriginalL'auteur bobK | 2015-01-27
Vous devez vous connecter pour publier un commentaire.
J'ai écrit une fonction de réparation de texte UTF-8 qui est stockée dans un
varchar
champ.Pour vérifier les valeurs fixes vous pouvez l'utiliser comme ceci:
De sortie:
Le code:
Quand j'ai mis cela dans sql server management studio, j'obtiens les erreurs suivantes: Msg 174, Niveau 15, État 1, Procédure DecodeUTF8String, à la Ligne 29 Le journal de la fonction nécessite 1 argument(s). Msg 102, Niveau 15, État 1, Procédure DecodeUTF8String, Ligne 30 syntaxe Incorrecte près de 'e'. Msg 102, Niveau 15, État 1, Procédure DecodeUTF8String, Ligne 31 syntaxe Incorrecte près de 'f'. Msg 195, Niveau 15, État 10, Ligne 3 'DecodeUTF8String' n'est pas reconnu, intégré dans le nom de la fonction.
Okay, si vous utilisez une version antérieure de SQL Server. Essayez de modifier que l'expression de
FLOOR(LOG(2 * ~CONVERT(tinyint, octet) + 1)/LOG(2)) - 1)
J'ai ajouté quelques commentaires de code de la procédure stockée. J'ai aussi corrigé le
LOG
erreur dans le pré-2012 les versions de SQL Server.Cool, Ça marche 😀
OriginalL'auteur Anthony Faull
Jason Penny a également écrit une fonction SQL pour convertir en UTF-8 Unicode (licence MIT) qui a travaillé sur un exemple simple pour moi:
La réponse cochée par Anthony "semble" mieux pour moi, mais peut-être exécuter à la fois si la conversion et d'enquêter sur les écarts?!
Nous avons également utilisé la très laid code ci-dessous pour détecter BMP page des caractères unicode codés en UTF-8, puis converti à partir varchar nvarchar champs, qui peuvent être converties en UCS-16.
Ci-dessus:
OriginalL'auteur robocat
J'ai trouvé la requête que je dois faire, tout simplement pas de l'encodage encore.
OriginalL'auteur bobK