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 :
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!