sql >> Database teknologi >  >> RDS >> Mysql

PHP/PDO/MySQL:indsættelse i MEDIUMBLOB gemmer dårlige data

Jeg tror ikke, at dette må være en fejl. Jeg kan forestille mig, at når klienten taler med serveren og siger, at følgende kommando er i UTF-8, og serveren har brug for den i Latin-1, så kan forespørgslen blive omkodet før parsing og udførelse. Så dette er et kodningsproblem for transporten af ​​dataene. Da hele forespørgslen forud for parsing vil blive påvirket af denne omkodning, vil de binære data for BLOB-kolonnen også blive ændret.

Fra Mysql-manualen:

Eller på vej tilbage:Latin1-data fra butikken bliver konverteret til UTF-8, fordi klienten fortalte serveren, at den foretrækker UTF-8 til transporten.

Identifikationen for selve PDO, du navngiver, ser ud til at være noget helt andet:

Jeg er ingen MySQL-ekspert, men jeg vil forklare det på denne måde. Klient og server skal forhandle sig frem til, hvilke tegnsæt de bruger, og jeg antager, at de gør dette af en grund.




  1. PostgreSQL træning for MySQLere

  2. Hvordan kan jeg matche de sidste to ord i en sætning i PostgreSQL?

  3. Softwaregennemgang – Stellar Repair til MS SQL

  4. The Eager Index Spool og The Optimizer