microsoft / go-mssqldb

Microsoft SQL server driver written in go language
BSD 3-Clause "New" or "Revised" License
283 stars 63 forks source link

BulkCopy can't support chinese characters #193

Closed SmyxBug closed 4 months ago

SmyxBug commented 4 months ago

Using BulkCopy to insert Chinese data into the table in batches can be successfully stored in the database, but the result is garbled.

code

stmt, err := txn.Prepare(mssql.CopyIn("t_batch_update", mssql.BulkOptions{}, "id", "name"))
if err != nil {
    fmt.Println(err)
    return
}
for i := 0; i < 10; i++ {
    _, err = stmt.Exec(i, "你好")
    if err != nil {
        fmt.Println(err)
        return
    }
}
result, err := stmt.Exec()
if err != nil {
    fmt.Println(err)
    return
}
err = stmt.Close()
if err != nil {
    fmt.Println(err)
    return
}
err = txn.Commit()
if err != nil {
    fmt.Println(err)
    return
}
shueybubbles commented 4 months ago

is the table using varchar, or nvarchar?