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

Outils MySQL Discussion :

comment remplacer les accents mysql


Sujet :

Outils MySQL

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 40
    Points : 25
    Points
    25
    Par défaut comment remplacer les accents mysql
    Bonjour en changeant d'hébergeur, j'ai eu un très gros problemes au niveau des accents. Maintenant sur mon site web ils s'affichent de façon bizare : "Délocalisation" par exemple. Idem pour les apostrophe...


    Connaitriez vous le moyen pour moi de pouvoir changer les caractères de façon automatiques? J'ai un peu chercher mais je n'ai pas trouvé comment faire. J'ai également trouvé un code pour changer des mot dans mysql mais table par table hors j'ai 80 table. Et j'aimerais pouvoir tout changer dans les tables et les champs d'un seul coup.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    update `TABLE` set CHAMP=REPLACE(CHAMP,'SOURCE','DEST') where CHAMP like '%SOURCE%'
    Merci pour votre aide.

  2. #2
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 284
    Points : 11 738
    Points
    11 738
    Par défaut
    ça n'existe pas et ce ne serait pas une bonne solution de toute façon. Ton problème est que tes données originales sont en utf8, et qu'à un niveau ou un autre elles sont interprétées en latin1 par ton nouvel hébergeur...

    PS : pour comprendre un peu mieux le système, je te conseille l'article cité en signature (même s'il n'y a pas directement la solution à ton pb)

    l'idéal serait de refaire l'importation, en précisant que ton fichier source est en utf8, mais je ne sais pas si c'est possible pour toi...

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 40
    Points : 25
    Points
    25
    Par défaut
    C'est pourtant bien ce que j'ai fait quand j'ai importer, j'avais préciser le language cependant certaines tables je ne sais pas pourquoi n'ont pas changer elles et m'affichent se genre de caractère.

    Merci pour ta réponse.

  4. #4
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 284
    Points : 11 738
    Points
    11 738
    Par défaut
    dans ce cas, pour les colonnes résistantes, le truc consiste à les passer en BLOB puis en VARCHAR CHARSET utf8. Tu peux ensuite les repasser en latin1 si tu le souhaites.

  5. #5
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 93
    Points : 54
    Points
    54
    Par défaut
    Salut salut,
    est ce que dans ta base à la place des cotes (guillemets) tu as :
    ´

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 40
    Points : 25
    Points
    25
    Par défaut
    Merci. A partir d'où est ce que je peux faire ça? Merci

  7. #7
    Membre du Club
    Inscrit en
    Avril 2004
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 80
    Points : 49
    Points
    49
    Par défaut
    Bonjour,

    Je rencontre le même problème. Toutes les informations de la base contenant des é affichent des ? à la place.....
    J'ai lu le post et j'ai effectivement remarqué que les champs de type VARCHAR étaient en latin1, je les ai donc changé en UTF8_general_ci.
    Mais pas mieux ! Et j'ai ensuite remarqué que dans la structure de la base de données, une colonne appellée Interclassement pour chaque table me dit latin1 mais je n'arrive pas a y accéder et a changer en UTF8.

    Je précise que j'ai bien importer mon dump en UTF8.

    Que dois-je faire ?
    Merci d'avance pour votre aide.

    deb

  8. #8
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 284
    Points : 11 738
    Points
    11 738
    Par défaut
    ça n'est pas le même problème. Un é remplacé par é est typique de l'interprétation en latin1 de données utf8. Un é remplacé par ? est autre chose...

    Quel est ton client ? quelle est ta version de MySQL ? Peux-tu faire les tests suivants AVEC LE MEME CLIENT :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    -- config théorique :
    SHOW VARIABLES LIKE '%char%';
     
    -- détection de la config réelle :
    SELECT _utf8'é', _latin1'é', ORD(_utf8'é'), ORD(_latin1'é') ;

  9. #9
    Membre du Club
    Inscrit en
    Avril 2004
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 80
    Points : 49
    Points
    49
    Par défaut
    Bonjour,

    Merci pour ta réponse. Je suis sur sql.free.fr (MySQL 5.0.27 et phpMyAdmin 2.6.3)

    Réponse du client aux requêtes :

    SHOW VARIABLES LIKE '%char%';

    Variable_name Value
    character_set_client utf8
    character_set_connection utf8
    character_set_database latin1
    character_set_filesystem binary
    character_set_results utf8
    character_set_server latin1
    character_set_system utf8
    character_sets_dir /usr/mysql/share/mysql/charsets/

    SELECT _utf8'é', _latin1'é', ORD(_utf8'é'), ORD(_latin1'é') ;

    é é ORD(_utf8'é') ORD(_latin1'é')
    é é 50089 195


    Merci,
    Deb

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 40
    Points : 25
    Points
    25
    Par défaut
    Quand à moi mon hébergeur est sous :
    - MySQL 3.23.58
    - phpMyAdmin 2.6.1-pl3

    Je vais esseyer ton conseil. Merci

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 40
    Points : 25
    Points
    25
    Par défaut
    Voila je viens defaire :


    1.
    character_set latin1
    character_sets latin1 big5 cp1251 cp1257 croat czech danish dec8 ...

    2.
    Par contre pour le deux j'ai une erreur quand je le fais : #1064 - You have an error in your SQL syntax near ''é'), ORD(_latin1'é') ' at line 1

  12. #12
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 284
    Points : 11 738
    Points
    11 738
    Par défaut
    debie : ton phpMyAdmin est donc bien en utf8, et il est déclaré comme tel. Pas de problème de ce côté-là.

    Dans ton navigateur, quel est l'encodage avec lequel tu lis tes pages ? si ce n'est pas du Unicode / utf8, c'est à corriger...

    Si le problème ne vient pas de là, utilise un SUBSTRING pour faire un ORD sur l'un de tes ?, afin qu'on sache de quel caractère il s'agit.

  13. #13
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 284
    Points : 11 738
    Points
    11 738
    Par défaut
    silvain : la version 3.23 est antédiluvienne, elle ne doit pas gérer l'utf8. L'idéal serait de refaire en latin1 l'export de ta base source, afin de fournir à la 3.23 qqch qu'elle puisse comprendre.

  14. #14
    Membre du Club
    Inscrit en
    Avril 2004
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 80
    Points : 49
    Points
    49
    Par défaut
    Bonjour antoun et merci,

    Alors voila, je crois que je suis un petit boulet....
    Je n'avais pas vérifié dans ma base les données croyant que c'était lors du requêtage que cela buggait...En fait, lorsque j'ai executé le dump de ma base, c'est à ce moment là que les caractères accentués n'ont pas été interprétés correctement.

    J'ai tout modifié à la mano et refait des tests chez mon hébergeur et là, les accents sont bien pris en compte.

    Désolée pour le dérangement et merci beaucoup d'avoir pris le temps d'essayer de m'aider malgré tout !

    Bonne journée,

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 22/05/2006, 13h03
  2. Réponses: 2
    Dernier message: 29/11/2005, 14h17
  3. Réponses: 8
    Dernier message: 11/10/2005, 14h30
  4. [String] Comment supprimer les accents
    Par iuz dans le forum Collection et Stream
    Réponses: 7
    Dernier message: 08/03/2004, 02h58
  5. Comment afficher les accent sous mysql v4.0.13
    Par buildozer dans le forum Requêtes
    Réponses: 2
    Dernier message: 17/06/2003, 09h33

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