Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Thay đổi mã hóa danh sách các đối tượng

Tôi nghi ngờ những gì đang xảy ra ở đây chỉ đơn giản là:cơ sở dữ liệu của bạn có các cột không phải unicode và bạn đang cố gắng lưu trữ dữ liệu unicode. Các ký tự không thể đại diện thực sự sẽ được tô xanh. Cách khắc phục chính xác ở đó là:đảm bảo cột của bạn là unicode. Lộn xộn với các mã hóa cột could làm việc, nhưng chết tiệt đó là rất nhiều công việc so với chỉ sử dụng unicode.

Dapper chuyển những thứ "nguyên trạng" cho ADO.NET; những gì nhà cung cấp làm là tùy thuộc vào nhà cung cấp. Có một cách để yêu cầu nó chọn giữa ANSI và Unicode khi gửi dữ liệu vào cơ sở dữ liệu, mặc dù - thông qua DbString , tức là

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

Điều này cũng cho phép bạn kiểm soát độ dài, v.v. Tuy nhiên, chúng tôi không kiểm soát mã hóa nơi đây; mã hóa thường là thuộc tính của chính cơ sở dữ liệu hoặc của trình cung cấp. Nếu MySQL có một số cách riêng để kiểm soát điều đó trong ADO.NET, thì tôi là "tất cả các tai", nhưng trước tiên:bạn cần làm cho nó hoạt động trong ADO.NET thô.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bảng MySQL với một cột varchar làm khóa ngoại

  2. Làm thế nào để lấy dữ liệu từ cơ sở dữ liệu để xem trang trong laravel?

  3. Hiển thị kết quả MySQL theo ngày

  4. mysql_connect quay lại Không thể kết nối với máy chủ MySQL cục bộ thông qua ổ cắm trên kết nối máy chủ từ xa?

  5. Ví dụ MONTHNAME () - MySQL