Pertanyaan Menyimpan teks rusia di server SQL


Saya memiliki database (SQL server express 2008) yang memiliki kolom yang didefinisikan sebagai teks. Ketika kami mencoba menyimpan beberapa teks yang berbahasa China, itu tidak disimpan. Saya membaca bahwa bidang tersebut harus ntext. Saya sekarang harus konversi ke meja saya untuk membuat kolom sebagai ntext.

Apakah saya harus melakukan apa pun dengan pengumpulan basis data yang diatur ke bahasa Latin?

JD


4
2018-04-14 16:01


asal


Jawaban:


Anda perlu mengubah kolom ke NTEXT atau NVARCHAR (MAX).

Pengumpulan hanya terkait dengan urutan pengurutan, pengindeksan, dan perbandingan. Jika Anda hanya menyimpan data Cina, Anda dapat menggunakan Chinese_PRC_90_CI_AI atau pemeriksaan terkait.

perbarui setelah komentar pertama:

Untuk NVARCHAR (dan NTEXT), pengaturan pemeriksaan tidak mempengaruhi cara data disimpan. Seperti yang saya nyatakan sebelumnya, itu mempengaruhi perbandingan dan penyortiran.

Jika kamu tahu bahwa akan ada data Cina di suatu bidang, yang terbaik adalah menggunakan kolasi Cina. (Saya baru saja mengalami beberapa masalah ketika mencari karakter Cina, seperti dalam beberapa collation beberapa karakter karakter tanda baca yang sama)

Jika kamu tahu bahwa Anda mencari data dalam bahasa lain, Anda masih dapat mengubah pemeriksaan menggunakan klausa COLLATE dalam perbandingan atau ORDER BY


8
2018-04-14 16:08



Pastikan Anda mengubah tipe kolom seperti yang disarankan devio dan mengubah jenis parameter dari setiap prosedur tersimpan yang berhubungan dengan tabel. Jika Anda memiliki bidang yang NTEXT tetapi parameter proc yang disimpan itu TEXT, itu tidak akan mempertahankan nilai.


1
2018-04-14 16:26