Dzieje się tak, ponieważ information_schema.processlist
używa zestawu znaków UTF8mb3. (UTF to alias do UTFmb3). To proste zapytanie ilustruje to:
mysql> select info, "🔥" from information_schema.processlist;
+------------------------------------------------------+------+
| info | ? |
+------------------------------------------------------+------+
| select info, "?" from information_schema.processlist | 🔥 |
+------------------------------------------------------+------+
1 row in set, 1 warning (0,00 sec)
Warning (Code 1366): Incorrect string value: '\xF0\x9F\x94\xA5" ...' for column 'INFO' at row 1
Powyższe ostrzeżenie prawdopodobnie spowoduje błąd, gdy wyzwalacz spróbuje wstawić zawartość info
do innej tabeli.
Myślę, że problem polega na tym, że ciąg zapytania jest przechowywany tak, jak na processlist
tabeli bez konwertowania jej na oczekiwany zestaw znaków. Złożyłem zgłoszenie błędu
o tym.