¿Cuál de nosotros tiene razón?
Érase una vez, tu jefe era. Pero a medida que pasa el tiempo, las cosas cambian. Hoy en día lo eres (pero antes de correr hacia tu jefe, asegúrate de leer también la respuesta de Nelson ).
Las versiones antiguas de MySQL, y las versiones antiguas de casi todo , se manejaban mucho mejor con el Latin1 / ISO-8859-1 (5) más antiguo que UTF8.
Hay una razón por la cual UTF8 ha sido creado, evolucionado y empujado principalmente a todas partes: si se implementa correctamente, funciona mucho mejor . Hay algunos problemas de rendimiento y almacenamiento derivados del hecho de que un carácter Latin1 tiene 8 bits, mientras que un carácter UTF8 puede tener una longitud de 8 a 32 bits. Entonces, cuando planifique VARCHAR, debe tener esto en cuenta. Y sus rutinas de búsqueda serán un poco más lentas. Ellos serán capaces de hacer más cosas (por ejemplo, búsquedas con la sensibilidad de acento o sin . No se puede hacer sin los de Latin1 extenso trabajo), sino que se tome un poco más de tiempo.
Pero, por otro lado, el almacenamiento es barato , la sobrecarga realista en los tamaños de archivo es inferior al 2-3%, la potencia informática también es barata y se está volviendo más barata de acuerdo con la Ley de Moore; mientras que su tiempo y las expectativas de sus clientes definitivamente no lo son .
Es posible que tenga que preocuparse por las herramientas de búsqueda, etc. si fue usted quien desarrolló tales herramientas. Pero probablemente no lo seas. Usted utiliza estas herramientas; incluso los que ayer no eran completamente compatibles con UTF8 (como no lo eran los MySQL anteriores), lo son hoy o pronto lo serán (por ejemplo, MySQL con soporte utf8mb4).
Por lo tanto, al planificar e implementar cuidadosamente UTF8 de la manera correcta ( sin incluirlo en Latin1 como una ocurrencia tardía), puede obtener un código que sea razonablemente a prueba de futuro , lo que, si planea hacer negocios con cualquier país asiático, es muy bueno Cosa. Y si no tiene tales planes, otras personas lo tendrán, y esas personas podrían ser sus clientes, proveedores o socios.
Entonces, cuando comiencen a enviarle datos UTF8, tendrá que configurar una cosa complicada para convertir a Latin1 y lidiar con casos irresolubles.
Cuando tenga en cuenta en el presupuesto el costo de varias escaramuzas contra los malvados ninjas mojibake , y considere que no van a desaparecer , como ya descubrió, se dará cuenta de que ir a UTF8 no solo es más simple, sino que será más barato también.