Bonjour,
Je vous expose, je travaille sur une base qui commence a etre consquente (plus d'un millions de donnees) et il y a un probleme d'accent. Des donnees de la base vont passer sur un autre support et le jeu de caractere utilise est restreint, hors dans ma table on trouve des caracteres ne rentrant pas ds le jeu (au hasard quelques chose comme ca : Ê ou ca : Â et bien d'autre encore...)
Mon objectif est de parcourir ma table a la recherche des caracteres speciaux et de les remplacer par leur equivalent que j'aurai defini (Ê -> E ou  -> A par exemple)
J'ai commencer par vouloir rechercher mes caracteres avec des requetes mysql en utilisant le LIKE (genre SELECT * FROM table WHERE NOM LIKE "%Â%") mais cela me remvoyait aussi bien des mot avec le caractere special que sans (genre je recevais a la fois ÂLBERT que GANDALF). J'ai donc fini par abandonne le LIKE et me suis tourne vers PHP
J'ai pour cela ecrit un script qui pour chaque table, pour chaque olone contenant des CHAR (ou VARCHAR) alors pour chaque row je regarde si il y a un caractere special (suivant leur code iso) et si oui je genere une requete UPDATE. Et ca ca marche tres bien mais c'est tres tres long (+ de 25 heures estimes).
Je fini donc par me reretourner vers une methode MySQL en me disabt que j'ai peut etre zappe kke chose (genre les collations...)
Donc si vous connaisser un moyen quelque pour resoudre mon probleme je vous en serais reconnaissant.
Au passage savez vous si sur une base MySQL il est plus interressant de faire une requete renvoyer un million de rows (sans LIMIT) ou de faire 100 milles requete renvoyant une centaine de row (avec LIMIT).
Merci d'avance en tout cas
(ps:j'espere que c'est le bon forum)
Partager