Mysql
 sql >> база данни >  >> RDS >> Mysql

Промяна на кодирането на списък с обекти

Подозирам това, което се случва тук е просто:вашата база данни има не-unicode колони и вие се опитвате да съхранявате unicode данни. Непредставимите герои наистина ще бъдат гръцки. Правилното решение е:уверете се, че колоната ви е unicode. Бъркането с кодирането на колони може работа, но по дяволите това е много работа в сравнение с простото използване на уникод.

Dapper предава нещата "както са" на ADO.NET; какво прави доставчикът зависи от доставчика. Има има начин да му кажете да избира между ANSI и Unicode, когато изпраща данни в базата данни обаче - чрез DbString , т.е.

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

Това също ви позволява да контролирате дължината и т.н. Ние обаче не контролираме кодирането тук; кодирането обикновено е свойство на самата база данни или на доставчика. Ако MySQL има някои специални начини за контролиране на това в ADO.NET, аз съм „на всички уши“, но първо:трябва да го накарате да работи в необработен 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. Хибернация, принудително времеви клеймо да се запази/зареди като UTC

  2. ALTER TABLE таблица AUTO_INCREMENT =$x

  3. Как да кача множество csv файлове в mysql база данни с помощта на jsp и servlet?

  4. Как мога да съхранявам масив от булеви стойности в база данни на MySql?

  5. MySQL актуализира, ако стойността е по-голяма от тази текуща стойност