Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Bagaimana cara menulis karakter UTF-8 menggunakan penyisipan massal di SQL Server?

Saya datang ke sini sebelum mencari solusi untuk menyisipkan karakter khusus secara massal. Tidak suka solusi dengan UTF-16 (yang akan menggandakan ukuran file csv). Saya menemukan bahwa Anda pasti BISA dan itu sangat mudah, Anda tidak' t memerlukan file format. Jawaban ini adalah untuk orang lain yang mencari hal yang sama, karena tampaknya tidak didokumentasikan dengan baik di mana pun, dan saya yakin ini adalah masalah yang sangat umum bagi orang yang tidak berbicara bahasa Inggris. Solusinya adalah:cukup tambahkan CODEPAGE='65001' di dalam pernyataan with dari sisipan massal. (65001=nomor halaman kode untuk UTF-8). Mungkin tidak berfungsi untuk semua karakter unicode seperti yang disarankan oleh Michael O, tetapi setidaknya berfungsi sempurna untuk ekstensi latin, yunani, dan cyrillic, mungkin banyak lainnya juga.

Catatan:Dokumentasi MSDN mengatakan utf-8 tidak didukung, jangan percaya, bagi saya ini berfungsi sempurna di SQL server 2008, namun tidak mencoba versi lain.

misalnya:

BULK INSERT #myTempTable 
FROM  'D:\somefolder\myCSV.txt'+
WITH 
    ( 
        CODEPAGE = '65001',
        FIELDTERMINATOR = '|',
        ROWTERMINATOR ='\n'
    );

Jika semua karakter khusus Anda dalam 160-255 (iso-8859-1 atau windows-1252), Anda juga dapat menggunakan:

BULK INSERT #myTempTable 
FROM  'D:\somefolder\myCSV.txt'+
WITH 
    ( 
        CODEPAGE = 'ACP',
        FIELDTERMINATOR = '|',
        ROWTERMINATOR ='\n'
    );


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Memodifikasi Periode Retensi Change Data Capture (CDC) di SQL Server - Tutorial SQL Server

  2. Bagaimana menggabungkan tanggal dari satu bidang dengan waktu dari bidang lain - MS SQL Server

  3. Gunakan COLUMNPROPERTY() untuk Mengembalikan Kolom atau Informasi Parameter di SQL Server

  4. Cara menggunakan SEMUA Operator Logika di SQL Server - Tutorial SQL Server / TSQL Bagian 126

  5. Dapatkan Zona Waktu Saat Ini dari Server di SQL Server (T-SQL)