Re: Error de "collation" al ejecutar STORED PROCEDURE
Para evitar problemas de este tipo y olvidarte de que los juegos de caracteres existen, asegúrate de que *todos* los esquemas, *todas* las tablas, y *todas* las columnas y definiciones en general están utilizando el juego de caracteres UTF-8 (CHARSET utf8) y una colación que prefieras (como la colación predeterminada de UTF-8, utf8_general_ci (COLLATE utf8_general_ci)). Asímismo asegúrate de que la configuración de tu servidor en my.cnf es correcta; deberías tener opciones como:
character-set-server=utf8
character_set_client=utf8
collation-server=utf8_general_ci
Y por supuesto, desde tus aplicaciones, lo primero que deberías hacer al conectarte es ejecutar "SET NAMES utf8", y conectarte con el juego de caracteres UTF-8 de la forma que tu API de BD lo soporte o necesite. Si todas las definiciones y absolutamente todo lo que haces utiliza juegos, codificaciones y colaciones de caracteres Unicode, no tendrás el más mínimo problema. No olvides que todos los otros juegos de caracteres y codificaciones son obsoletos; una mala pesadilla del pasado.
MySQL y la mayoría de sus librerías para cada lenguaje de programación tienen un soporte bastante bueno de juegos de caracteres y colaciones; sus únicos problemas son que soportan juegos de caracteres que no son Unicode y que los utilizan por defecto. Cualquier producto (desde una calculadora hasta una base de datos) debería trabajar única y exclusivamente con el juego de caracteres universal (ISO 10646) codificado en algún formato de transformación de Unicode (UTF-8, UTF-16 o UTF-32) y soportando el algoritmo de colación de Unicode.
Un saludo,
Miguel Pérez
Afina Sistemas - Partner de MySQL en España
Subject
Views
Written By
Posted
3791
February 19, 2008 06:24PM
1852
March 01, 2008 01:28PM
Re: Error de "collation" al ejecutar STORED PROCEDURE
2828
March 04, 2008 04:39AM
Sorry, you can't reply to this topic. It has been closed.
Content reproduced on this site is the property of the respective copyright holders.
It is not reviewed in advance by Oracle and does not necessarily represent the opinion
of Oracle or any other party.