Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Zmień kodowanie listy obiektów

podejrzewam to, co się tutaj dzieje, jest proste:twoja baza danych ma kolumny inne niż Unicode i próbujesz przechowywać dane w Unicode. Postacie niereprezentacyjne będą rzeczywiście greckie. Prawidłowa poprawka jest:upewnij się, że twoja kolumna jest w Unicode. Mieszanie z kodowaniami kolumn mogło praca, ale cholera to dużo pracy w porównaniu do zwykłego używania Unicode.

Dapper przekazuje rzeczy "tak jak jest" do ADO.NET; to, co robi dostawca, zależy od dostawcy. Jest jest sposób, aby powiedzieć mu, aby wybierał między ANSI a Unicode podczas wysyłania danych do jednak baza danych - przez DbString , czyli

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

Pozwala to również kontrolować długość itp. Jednak nie kontrolujemy kodowania tutaj; kodowanie jest zwykle właściwością samej bazy danych lub dostawcy. Jeśli MySQL ma jakieś niestandardowe sposoby kontrolowania tego w ADO.NET, jestem "wszystkimi uszami", ale najpierw:musisz go uruchomić w surowym ADO.NET.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak wykonać wiele zapytań SQL jako transakcje?

  2. Java EE/JPA sposób na dodawanie nowych tabel/encji do bazy danych

  3. MySQL:współbieżne aktualizacje (poprzez wątki) na prostej tabeli

  4. Jak przekonwertować strefę czasową w MySQL

  5. Jak zapobiec sytuacji wyścigowej w rezerwacji hoteli online?