¿Cómo corregir errores de "valor de cadena incorrecta"?

Después de notar que una aplicación tendía a descartar correos electrónicos aleatorios debido a errores de valor de cadena incorrectos, fui y cambié muchas columnas de texto para usar elutf8 el conjunto de caracteres de la columna y el orden predeterminado de la columna (utf8_general_ci) para que los aceptara. Esto solucionó la mayoría de los errores e hizo que la aplicación dejara de recibir errores de SQL cuando llegaba a correos electrónicos no latinos.

A pesar de esto, algunos de los correos electrónicos siguen haciendo que el programa tenga errores de valor de cadena incorrectos:(Incorrect string value: '\xE4\xC5\xCC\xC9\xD3\xD8...' for column 'contents' at row 1)

La columna de contenido es unMEDIUMTEXT datatybe que utiliza elutf8 conjunto de caracteres de la columna y lautf8_general_ci Collate Columnas. No hay banderas que pueda cambiar en esta columna.

Teniendo en cuenta que no quiero tocar ni mirar el código fuente de la aplicación a menos que sea absolutamente necesario:

¿Qué está causando ese error? (Sí, sé que los correos electrónicos están llenos de basura aleatoria, pero pensé que utf8 sería bastante permisivo)¿Cómo puedo arreglarlo?¿Cuáles son los efectos probables de tal solución?

Una cosa que consideré fue cambiar a utf8 varchar ([un número grande]) con el indicador binario activado, pero no estoy familiarizado con MySQL, y no tengo idea si tal corrección tiene sentido.

Respuestas a la pregunta(20)

Su respuesta a la pregunta