Tot sovint l’ús de diferent collation entre la connexió i la configuració de la base de dades i/o les taules causen un error de collation.
A partir de MySql 4.1.8 podem comprovar quin collation s’està fent servir amb una sentència com aquesta:
SELECT COLLATION(USER()), COLLATION('@');
Podem definir el collation amb el que volem que es defineixin les variables amb SET NAMES:
SET CHARACTER SET 'UTF8'; SET NAMES 'utf8' COLLATE 'utf8_general_ci';
A partir d’aquí les variables de text ja no donaran conflicte amb la base de dades ut8_general_ci puix que hem indicat que es treballi amb aquest format.
Per exemple:
SET @s_email='email@codic.cat'; SELECT * FROM correus WHERE correu_usuari=@s_email;
Ja no donaria un error com:
#1267 – Illegal mix of collations (latin1_swedish_ci,IMPLICIT)
and (utf8_general_ci,COERCIBLE) for operation ‘=’
Més informació: http://dev.mysql.com/doc/refman/4.1/en/charset-collation-charset.html
![]() ![]() | Compartir: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Tags: MySql
2.408 visualitzacions - versió en PDF