Maison >base de données >tutoriel mysql >Comment insérer correctement des nouvelles lignes dans les chaînes nvarchar dans SQL Server ?

Comment insérer correctement des nouvelles lignes dans les chaînes nvarchar dans SQL Server ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-18 09:56:11403parcourir

How to Correctly Insert Newlines into nvarchar Strings in SQL Server?

Insertion correcte de nouvelle ligne dans les chaînes nvarchar

Lorsque vous travaillez avec du texte enrichi dans SQL Server et que vous rencontrez le besoin de le convertir en texte brut, un la tâche courante consiste à remplacer les sauts de ligne HTML (
) par des nouvelles lignes. Cependant, la simple utilisation de la fonction REPLACE peut entraîner une insertion incorrecte des sauts de ligne.

Le problème :

Dans l'exemple donné, le problème survient en raison de l'encodage des caractères de nouvelle ligne. La fonction REPLACE s'attend à ce que les paramètres soient du type de données nvarchar, qui prend en charge les caractères Unicode. Les caractères de nouvelle ligne ASCII (retour chariot et saut de ligne, représentés respectivement par CHAR(13) et CHAR(10)) ne peuvent pas être directement insérés dans une chaîne nvarchar sans être convertis en Unicode.

La solution :

Pour résoudre ce problème, les représentations Unicode des caractères de nouvelle ligne doivent être utilisées à la place :

set @rich_text_to_modify = replace(@rich_text_to_modify,'<br>', NCHAR(13)+NCHAR(10))

NCHAR(13) et NCHAR(10) représentent respectivement les caractères de retour chariot et de saut de ligne Unicode. L'utilisation de ces caractères Unicode garantit que les nouvelles lignes sont correctement insérées dans la chaîne nvarchar.

Considérations supplémentaires :

  • SQL Server Management Studio (SSMS) Options : Assurez-vous que l'option "Conserver CR/LF lors de la copie ou de l'enregistrement" est activée dans le menu Options de SQL Server Management Studio (Outils -> Cette option préserve les sauts de ligne lors de la copie ou de l'enregistrement des résultats dans une grille ou un fichier.
  • Compatibilité des bases de données : La prise en charge d'Unicode dans SQL Server varie en fonction des niveaux de compatibilité des bases de données. Assurez-vous que votre base de données est définie sur un niveau de compatibilité prenant en charge Unicode, tel que SQL Server 2012 et versions ultérieures.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn