MySQL Forums
Forum List  »  Spanish

Re: Error de "collation" al ejecutar STORED PROCEDURE
Posted by: Miguel Perez
Date: March 04, 2008 04:39AM

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

Options: ReplyQuote


Subject
Views
Written By
Posted
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.