|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Futur Membre du Club
![]() Inscription : novembre 2004 Messages : 32 ![]() |
Bonjour,
Mon hébergeur (j'ai déjà envoyé plein de messages) a fait des changements et depuis dans la colonne interclassement il y a par défaut 'latin1_swedish_ci'. Il m'est alors impossible d'exécuter des requêtes du style: select * from `table` where champ like '%mot%' ou select * from `table` where champ='mot' sachant que champ est un varchar(255)! J'obtiens alors l'erreur #1267 - Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '=' Alors je me suis dit qu'il fallait affecté l'interclassement de toutes mes tables avec la valeur "utf8_general_ci". J'ai utilisé le script suivant: Code :
HELP! Questions: -Est ce qu'il faut bien changer l'interclassement en utf8_general_ci ? -Si oui, comment l'affecter à tous les champs ? Merci beaucoup, LTN |
||
|
|
00
|
|
|
#2 |
|
Futur Membre du Club
![]() Inscription : novembre 2004 Messages : 32 ![]() |
Il y a personne pour m'aider
J'ai réussi à trouver un script pour changer tous mes interclassements, mais si quelqu'un pouvait me dire lequel utilisé s'il vous plaît, ce serait vraiment très sympa le utf8_general_ci ne semble pas prendre en compte les charactères "éàö..." et c'est très embêtant à l'affichage. Merci de m'aider. |
|
|
00
|
|
|
#3 |
|
Membre Expert
![]() Inscription : mai 2002 Messages : 1 022 ![]() |
J'ai le même problème que toi, je cherche à le résoudre sans succès. Notamment phpmyadmin est complètement bloqué avec ce problème d'interclassement. Je vais regarder ce week-end les raisons de ces problèmes car mon hébergeur va bientôt migrer également...
__________________
Alexandre T. PHP5/MySQL5 Codes prêts à l'emploi 30 projets avec codes sources complets pour créer diaporamas photos, chat, arbre généalogique, statistiques de visites, création de graphiques, moteur de recherche, Sudoku etc... Mes articles |
|
|
00
|
|
|
#4 |
|
Futur Membre du Club
![]() Inscription : novembre 2004 Messages : 32 ![]() |
Alors voilà ce qui je fais après m'être défoncer le crâne avec toute la doc
Mettre les charsets de toutes les tables en utf8 Code :
ALTER TABLE `nom_table` DEFAULT CHARACTER SET utf8 Sur PHPMyadmin, choisir l'interclassement latin1_german_ci pour la connection Mysql (Sur la page d'accueil). Je ne sais pas pourquoi Je les ai pratiquement tous testés pour arriver au résultat. Je pense que le charset des tables doit correspondre au jeu de caractères de la BDD (cf. Page d'accueil de PHPMyadmin "Jeu de Caractères pour Mysql", ici utf8) Je précise que je suis débutante donc ce que je dis n'est pas fiable. Mais ça marche pour moi @+ |
|
|
00
|
|
|
#5 |
|
Invité régulier
![]() Inscription : novembre 2004 Messages : 9 ![]() |
en laissant tout à latin1 (comme ce qu'il y a par défaut quoi) et en demandant l'interclassement à latin1 dans phpMyAdmin (dernière version de préférence), il n'y a aucun problème !
Y'a aucun interet à mettre les colonne en UTF-8, enfin dans la plupart des cas... les données en utf-8 prennent plus de place que les données en latin1, des que les caractères ne font pas partie de l'ascii, cela prend au minimum 2 caractères (cas des accents français), les colonnes en CHAR réserveront de la place en plus pour rien, ça ralentiera surement un (très) peu les recherches et demandera à MySQL de convertir, reconvertir des données... enfin, bref, c'est pas ce qu'il faut faire. Quand je dis qu'il n'y a aucun interet, c'est pas vraiment ça quand même, si vous mélanger plusieurs langues, cele est tres utiles (du chinois et du français dans la même colonne par exemple) nb: je suis presque sur de ce que je dis, mais si c'est pas exactement cela, merci de me le signaler, j'ai rechercher dernièrement des infos sur les codages justement pour des données dans diverses langues, et j'espère avoir compris comme il faut |
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() Inscription : mai 2002 Messages : 1 022 ![]() |
J'ai remarqué quelquechose. Il existe deux scripts dans phpmyadmin pour créer ces fameuses tables pma_* dans la database phpmyadmin. Le second nom de fichier fini par 4.1.2+.
Dans ce fichier on trouve un script différents où les interclassements et les charset sont prédéfinis. Cela marche parfaitement. Et l'analyse de ce code est riche d'enseignement.
__________________
Alexandre T. PHP5/MySQL5 Codes prêts à l'emploi 30 projets avec codes sources complets pour créer diaporamas photos, chat, arbre généalogique, statistiques de visites, création de graphiques, moteur de recherche, Sudoku etc... Mes articles |
|
|
00
|
|
|
#7 |
|
Futur Membre du Club
![]() Inscription : novembre 2004 Messages : 32 ![]() |
En latin1 les caractères spéciaux ne s'affichent pas
Ex: Sixième => Six@ime ou un truc du genre. J'ai remarqué que les requêtes qui fonctionnaient dans mon code source ne fonctionnent pas forcément sur PHPMyAdmin... Si on pouvait m'éclairer à ce sujet (Pourquoi mettre le charset de toutes les tables en utf8 pour que ça marche dans le code source et sur phpmyadmin utiliser l'interclassement latin1 ??!) Je n'y comprends rien et je cherche des réponses @Alexandre T : Quels scripts ?! ça m'intéresse |
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() Inscription : mai 2002 Messages : 1 022 ![]() |
Je n'ai pas phpmyadin sous la main. De mémoire, ils sont dans le répertoire scripts de phpmyadmin. Attention, je parle de la version 2.6.X de phpmyAdmin .
__________________
Alexandre T. PHP5/MySQL5 Codes prêts à l'emploi 30 projets avec codes sources complets pour créer diaporamas photos, chat, arbre généalogique, statistiques de visites, création de graphiques, moteur de recherche, Sudoku etc... Mes articles |
|
|
00
|
|
|
#9 |
|
Futur Membre du Club
![]() Inscription : novembre 2004 Messages : 32 ![]() |
Merci bien, je vais voir ce que je trouve
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com