Pemasukan Baris Baharu yang Betul dalam Rentetan nvarchar
Apabila bekerja dengan teks kaya dalam SQL Server dan menghadapi keperluan untuk menukarnya kepada teks biasa, a tugas biasa ialah menggantikan pemisah baris HTML (
) dengan baris baharu. Walau bagaimanapun, hanya menggunakan fungsi REPLACE boleh mengakibatkan pemisah baris tidak disisipkan dengan betul.
Isu:
Dalam contoh yang diberikan, isu timbul disebabkan pengekodan daripada watak baris baharu. Fungsi REPLACE menjangkakan parameter daripada jenis data nvarchar, yang menyokong aksara Unicode. Aksara baris baharu ASCII (carriage return dan suapan baris, masing-masing diwakili sebagai CHAR(13) dan CHAR(10) tidak boleh dimasukkan terus ke dalam rentetan nvarchar tanpa ditukar kepada Unicode.
Penyelesaian:
Untuk menyelesaikan masalah ini, perwakilan Unikod bagi aksara baris baharu hendaklah digunakan sebaliknya:
set @rich_text_to_modify = replace(@rich_text_to_modify,'<br>', NCHAR(13)+NCHAR(10))
NCHAR(13) dan NCHAR(10) masing-masing mewakili gerabak Unicode dan aksara suapan baris. Menggunakan aksara Unicode ini memastikan bahawa baris baharu dimasukkan dengan betul ke dalam rentetan nvarchar.
Pertimbangan Tambahan:
Atas ialah kandungan terperinci Bagaimana untuk Memasukkan Baris Baharu dengan betul ke dalam String nvarchar dalam SQL Server?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!