Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Ubah penyandian daftar objek

Saya mencurigai apa yang terjadi di sini hanyalah:database Anda memiliki kolom non-unicode, dan Anda mencoba untuk menyimpan data unicode. Karakter yang tidak terwakili memang akan menjadi yunani. Perbaikan yang benar adalah:pastikan kolom Anda unicode. Memainkan pengkodean kolom bisa bekerja, tapi sial itu banyak pekerjaan dibandingkan dengan hanya menggunakan unicode.

Dapper meneruskan hal-hal "sebagaimana adanya" ke ADO.NET; apa yang dilakukan penyedia terserah penyedia. Ada ada cara untuk memberitahunya untuk memilih antara ANSI dan Unicode saat mengirim data ke database, meskipun - melalui DbString , yaitu

conn.Execute(sql, new {
    id, name,
    desc = new DbString { IsAnsi = true, Value = desc }
});

Ini juga memungkinkan Anda untuk mengontrol panjang dll. Namun, kami tidak mengontrol encoding di sini; pengkodean biasanya merupakan properti dari database itu sendiri, atau penyedia. Jika MySQL memiliki beberapa cara yang dipesan lebih dahulu untuk mengendalikannya di ADO.NET, saya "semua telinga", tetapi pertama-tama:Anda harus membuatnya bekerja di ADO.NET mentah.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. $filter tidak berfungsi di JPA/Olingo 2.0.11 dengan MySQL

  2. Php Mysql NOT IN array hanya mempengaruhi hasil pertama dalam array

  3. PHP PDO - Menampilkan kata sandi saat terlalu banyak koneksi

  4. Homebrew MySQL 8.0.18 di macOS 10.15 Catalina tidak akan berjalan sebagai layanan

  5. Model PDO Tunggal - Hirarki