Saya tidak berpikir bahwa ini pasti bug. Saya dapat membayangkan bahwa setiap kali klien berbicara dengan server dan mengatakan bahwa perintah berikut ada dalam UTF-8 dan server membutuhkannya dalam bahasa Latin-1, maka kueri mungkin dikodekan ulang sebelum penguraian dan eksekusi. Jadi ini adalah masalah pengkodean untuk transportasi data. Karena seluruh kueri sebelum penguraian akan dipengaruhi oleh pengkodean ulang ini, data biner untuk kolom BLOB juga akan berubah.
Atau dalam perjalanan kembali:Data Latin1 dari penyimpanan akan diubah menjadi UTF-8 karena klien memberi tahu server bahwa ia lebih memilih UTF-8 untuk transportasi.
Pengidentifikasi untuk PDO itu sendiri yang Anda beri nama tampak seperti sesuatu yang sama sekali berbeda:
Saya bukan ahli MySQL tetapi saya akan menjelaskannya seperti ini. Klien dan server perlu menegosiasikan rangkaian karakter mana yang mereka gunakan dan saya berasumsi mereka melakukan ini karena suatu alasan.