En MySQL nunca uses "utf8", usa "utf8mb4"

Pero aquí está el problema: MySQL "utf8" no es UTF-8.



La codificación "utf8" sólo admite tres bytes por carácter. La codificación UTF-8 real - que todo el mundo utiliza, incluido usted - necesita hasta cuatro bytes por carácter.

Los desarrolladores de MySQL nunca arreglaron este error. Lanzaron una solución en 2010: un nuevo conjunto de caracteres llamado "utf8mb4".

Por supuesto, nunca anunciaron esto (probablemente porque el error es muy embarazoso). Ahora, las guías en la Web sugieren que los usuarios usen "utf8". Todas esas guías están equivocadas.

En resumen:

MySQL "utf8mb4" significa "UTF-8".
MySQL "utf8" significa "una codificación de caracteres propietarios". Esta codificación no puede codificar muchos caracteres Unicode.
Voy a hacer una declaración dramática aquí: todos los usuarios de MySQL y MariaDB que están utilizando actualmente "utf8" deberían utilizar "utf8mb4". Nadie debería usar "utf8".

Seguir leyendo -->

Comentarios

Entradas más populares de este blog

Dennis Ritchie, el creador del lenguaje C y UNIX

Magia...

La escala del Universo