J'ai enfin un peu de temps pour regarder tout ceci...
Une sauvegarde en iso me donne ceci en lecture (iso sélectionné naturellement) :
(1, 'I9', 0, 'NAME', 'SIAUD,ANDR�', 'André Siaud', 'Siaud, André', 'Siaud', 'SIAUD', 'André', '''A536''', '''S300''', '''063900''', '''430000'''),
Si je force un affichage en utf8, j'ai ceci :
(1, 'I1863', 0, 'NAME', 'SIAUD,ANDR?', 'André Siaud', 'Siaud, André', 'Siaud', 'SIAUD', 'André', '''A536''', '''S300''', '''063900''', '''430000'''),
J'ai les accents sur les minuscules accentuées, pas les majuscules.
Alors que la sauvegarde naturelle donne (utf sélectionné naturellement):
(1, 'I9', 0, 'NAME', 'SIAUD,ANDRÉ', 'André Siaud', 'Siaud, André', 'Siaud', 'SIAUD', 'André', '''A536''', '''S300''', '''063900''', '''430000'''),
En forçant un affichage en ISO, c'est encore pire.
À la fin de chaque création de table, j'ai ceci :
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
J'ai comme l'impression qu'il y a eu une migration de la base d'iso vers utf et pas complète...
Voici l'erreur qui doit géner mon père dans le site lors de ses recherches :
1 2 3 4 5 6 7 8 9
| Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000]: General error: 1267 Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation 'like'' in /home/XXXXXXXX/includes/classes/class_pgv_db.php:835 Stack trace:
#0 [internal function]: PDOStatement->execute()
#1 /home/XXXXXX/includes/classes/class_pgv_db.php(835): call_user_func_array(Array, Array)
#2 /home/XXXXXX/includes/classes/class_pgv_db.php(850): PGV_DBStatement->__call('execute', Array)
#3 /home/XXXXXX/includes/classes/class_pgv_db.php(850): PGV_DBStatement->execute()
#4 /home/XXXXXX/includes/functions/functions_db.php(486): PGV_DBStatement->__call('fetchAll', Array)
#5 /home/XXXXXX/includes/functions/functions_db.php(486): PGV_DBStatement->fetchAll()
#6 /home/XXXXXX/famlist.php(208): get_famlist_surns('', 'S', false, '1')
#7 {main} thrown in /home/XXXXXX/includes/classes/class_pgv_db.php on line 835 |
Partager