El tratamiento de los caracteres especiales de MySQL: una paradoja explicada
En MySQL, la ejecución de consultas que involucran caracteres especiales como 'Å', 'Ä', y 'Ö' a menudo plantea dudas sobre la coherencia de los resultados. Por ejemplo, las consultas con 'Harligt' y 'Härligt' arrojan resultados idénticos, lo que deja a los usuarios perplejos.
Este fenómeno se atribuye a la configuración de intercalación predeterminada de MySQL, específicamente "utf8_general_ci" y "utf8_unicode_ci". Estas intercalaciones normalizan ciertos caracteres Unicode, incluidas las letras escandinavas, equiparándolos con sus equivalentes en inglés (por ejemplo, "Ä = A"). Esta normalización simplifica las operaciones de comparación y las búsquedas, pero puede resultar inconveniente en ciertos escenarios.
Para resolver este problema, considere las siguientes opciones:
select * from topics where name='Harligt' COLLATE utf8_bin;
Vale la pena señalar que las operaciones LIKE que no distinguen entre mayúsculas y minúsculas en MySQL no se pueden realizar sin la normalización de caracteres especiales. Sin embargo, se pueden encontrar discusiones relacionadas aquí:
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3