これはバグではないと思います。クライアントがサーバーと通信し、次のコマンドがUTF-8であり、サーバーがLatin-1でそれを必要としていると言うときはいつでも、クエリは解析と実行の前に再エンコードされる可能性があると想像できます。したがって、これはデータ転送のエンコードの問題です。解析前のクエリ全体がこの再エンコードの影響を受けるため、BLOB列のバイナリデータも変更されます。
または帰り道:クライアントがサーバーに輸送にUTF-8を使用するように指示したため、ストアからのLatin1データはUTF-8に変換されます。
名前を付けるPDO自体の識別子は、まったく異なるもののように見えます:
私はMySQLの専門家ではありませんが、このように説明します。クライアントとサーバーは、使用している文字セットをネゴシエートする必要があります。これには理由があると思います。