IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration MySQL Discussion :

Detection/Update des caracteres speciaux


Sujet :

Administration MySQL

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2007
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 25
    Points : 20
    Points
    20
    Par défaut Detection/Update des caracteres speciaux
    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)

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 924
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 924
    Points : 51 726
    Points
    51 726
    Billets dans le blog
    6
    Par défaut
    Il faut que vous jouiez sur les collations. Mais je ne pense pas que MySQL donc le niveau de SQL est assez faible sache faire cela.

    Un petit exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT * 
    FROM table 
    WHERE NOM LIKE '%Â%' COLLATE French_CS_AS --> ce qui signifie collations
    sensible à la casse et aux accents.
    Lisez l'articke que j'ai écrit à ce sujet : http://sqlpro.developpez.com/cours/s...er/collations/

    A +

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème avec des caractères spéciaux dans une chaine
    Par thibaut06 dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 20/11/2006, 17h46
  2. Select et insert avec des caracteres speciaux (quote ')
    Par Paco75 dans le forum Requêtes
    Réponses: 2
    Dernier message: 25/10/2006, 15h59
  3. Réponses: 3
    Dernier message: 24/04/2006, 16h53
  4. Réponses: 11
    Dernier message: 25/09/2005, 22h20
  5. [Encodage] codage des caractères spéciaux
    Par soulhouf dans le forum Général Java
    Réponses: 11
    Dernier message: 24/08/2005, 13h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo