-
Por que ter uma cláusula COLLATE ao comparar BIGINTs em comparação com números literais? Remova a cláusula COLLATE na instrução UPDATE. -- Esta é a principal solução, conforme comentários do OP.
-
O código está dentro de uma rotina armazenada que foi construída com latin1? Faça SHOW CREATE PROCEDURE (ou FUNCTION) para ver se esse era o caso. Se sim, então DROP e recrie com utf8mb4 em vigor.
-
É arriscado alterar character_set_filesystem e character_set_server. Troque-os de volta.