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

PHP / PDO / MySQL:chèn vào MEDIUMBLOB lưu trữ dữ liệu xấu

Tôi không nghĩ rằng đây phải là một lỗi. Tôi có thể tưởng tượng rằng bất cứ khi nào máy khách nói chuyện với máy chủ và nói rằng lệnh sau ở UTF-8 và máy chủ cần nó bằng tiếng Latinh-1, thì truy vấn có thể được mã hóa lại trước khi phân tích cú pháp và thực thi. Vì vậy, đây là một vấn đề mã hóa cho việc vận chuyển dữ liệu. Vì toàn bộ truy vấn trước khi phân tích cú pháp sẽ bị ảnh hưởng bởi quá trình mã hóa lại này, dữ liệu nhị phân cho cột BLOB cũng sẽ bị thay đổi.

Từ hướng dẫn sử dụng Mysql:

Hoặc trên đường trở lại:Dữ liệu Latin1 từ cửa hàng sẽ được chuyển đổi thành UTF-8 vì máy khách đã nói với máy chủ rằng nó thích UTF-8 hơn cho việc vận chuyển.

Giá trị nhận dạng cho chính PDO mà bạn đặt tên trông giống như một cái gì đó hoàn toàn khác:

Tôi không phải là chuyên gia về MySQL nhưng tôi sẽ giải thích nó theo cách này. Máy khách và máy chủ cần thương lượng bộ ký tự nào họ đang sử dụng và tôi cho rằng họ làm điều này là có lý do.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL THAM GIA ĐẦY ĐỦ?

  2. Sử dụng fork trong Ruby on Rails để tạo quá trình song song

  3. Loại bỏ hoàn toàn MySQL 5.7

  4. Sử dụng trình kích hoạt để dừng chèn hoặc cập nhật

  5. Sử dụng SUM () mà không nhóm các kết quả