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

PHP & Base de données Discussion :

Accent et utf8


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 49
    Par défaut Accent et utf8
    Bonjour,

    J’ai une table dont l’encodage est utf8_unicode_ci

    Dans cette table j’ai un enregistrement du type : "Proposition de réflexion pour les étudiants"

    Je cherche a remplacer les “é” par des "e" avec un truc du type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $monchamps=str_replace("é","e",$ monchamps);
    $monchamps est extrait de mysql et avant la requete je fais mysql_query("SET NAMES 'utf8'");

    Ceci ne marche pas …

    Par contre lorsque je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $monchamps=”Proposition de réflexion pour les étudiants”;
    $monchamps=str_replace("é","e",$ monchamps);
    Echo $monchamps donne : Proposition de reflexion pour les etudiants => ce que je veux ;-)

    Le pb vient donc au niveau de la requete mais impossible de savoir pourquoi

    Qq'un aurait-il une petite idee ?

    D’avance Merci

    PS : Je ne peux pas changer l’encodage de la table

  2. #2
    Membre confirmé Avatar de zebulon94
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France, Val de Marne (Île de France)

    Informations forums :
    Inscription : Juin 2008
    Messages : 169
    Par défaut
    Bonjour,

    Si tu ne m'es pas mysql_query("SET NAMES 'utf8'"); cela marcherais peut être ??
    As tu essayé ?

    Bonne journée

    Tcho

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 49
    Par défaut
    Mreci pour ta réponse ;-)

    G testé mais le pb est le meme :s

    Bonne journée

  4. #4
    Membre confirmé Avatar de zebulon94
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France, Val de Marne (Île de France)

    Informations forums :
    Inscription : Juin 2008
    Messages : 169
    Par défaut
    Bonjour,

    ok alors essaye de voir avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header("Content-Type:text/html; charset=iso-8859-1");

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 49
    Par défaut
    Re-Bonjour,

    C'est toujours pareil ...

    Je viens de me rendre compte que le pb etait le meme pour tous les accents (et tous les caracteres speciaux je pense)...

    C'est vraiment bizzare comme pb...

    Merci pour ton aide

  6. #6
    Membre confirmé Avatar de zebulon94
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France, Val de Marne (Île de France)

    Informations forums :
    Inscription : Juin 2008
    Messages : 169
    Par défaut
    Bonjour,

    Ton problème est donc dans ta base de données ... alors là !!!
    Lol ou en tout cas je ne vois pas....
    Perso quand j'insert quelque chose dans ma base de donnée je me débrouille pour remplacer les caractères spéciaux, mais jamais eu de problème avec les accents :s

    tu peux changer l'encodage de ta table ou pas ?

    Bonne journée

    Tcho

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 49
    Par défaut
    Non malheureusement je ne peux pas changer l'encodage ...
    Je vais m'arranger pour faire autrement ...

    Merci pour ton aide en tt cas ;-)

  8. #8
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    270
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 270
    Par défaut
    Salut essai cette fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    <?php
    function jevireaccents($machaine)
    {    
     
        $machaine=($machaine);
     
        $carracterasoucis = Array("/ç/","/ä§/","/é/","/ä©/","/è/","/ä¨/","/ê/",
    "/äª/","/ë/","/ä«/","/Ê/","/äŠ/","/Ë/","/ä‹/","/î/","/ä®/","/ï/","/ä¯/","/ì/"
    ,"/Ã?/","/ä?/","/ò/","/ä²/","/ô/","/ä´/","/ö/","/ä¶/","/õ/","/ó/","/ø/",
    "/äµ/","/ä³/","/ä¸/","/Ô/","/ä”/","/Ö/","/ä–/","/Ã/","/ä/","/â/","/ä¢/","/ä/",
    "/ä¤/","/Ã¥/","/ä¥/","/Â/","/ä‚/","/Ä/","/ä„/","/ù/","/û/","/ü/","/ä¼/","/Û/"
    ,"/Ü/","/ä¹/","/ä»/","/ä¼/","/ä¼/","/ä›/","/äœ/","/ò/","/ñ/","/’/");
     
        $topcool = Array("ç", "ç", "é", "é", "è", "è", "ê", "ê", "ë", "ë", "Ê", "Ê",
    "Ë", "Ë", "î", "î", "ï", "ï", "ì", "Î", "Î", "ò", "ò", "ô", "ô", "ö", "ö", "õ",
    "ó", "ø", "õ", "ó", "ø", "Ô", "Ô", "Ö", "Ö", "à", "à", "â", "â", "ä", "ä", "å",
    "å", "Â", "Â", "Ä", "Ä", "u", "û", "ü", "ü", "Û", "Ü", "u", "û", "ü", "ü", "Û", 
    "Ü", "ñ", "ñ", "'");
     
        $machaine = preg_replace($carractereasoucis, $topcool, $machaine);  
     
        return $machaine; 
    }
    ?>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo jevireaccents($la_variable_a_soucis);?>
    Extrait du site : http://creer-un-site.fr/

  9. #9
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    270
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 270
    Par défaut
    Moi j'ai aussi un gros souci, je recupere du texte via un script php.
    Ma page est bien en iso 8859-1 mais les accents ne sont pas traités et sont mal interpreté. comme yobogs.


    Je ne peu pas utiliser le code publier car en faite je recupere du texte provenant de page (rss) en utf-8.

    Comment décoder tout les accents sachant que le texte récuperé est afficher a l'aide de la ligne de code suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    render_news($feed_url3, $showdetail, $headlinestyle, $detailstyle) ;
    j'ai essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    $variable=render_news($feed_url3, $showdetail, $headlinestyle, $detailstyle) ;
     echo jevireaccents($variable);?>
    avec apel de la fonction jevireaccents, mais rien ne s'affiche...
    Pouvez vous me donner un coups de pouce svp ?

  10. #10
    Membre émérite
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Par défaut
    peut etre la fonction php utf8_decode

  11. #11
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    270
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 270
    Par défaut
    salut, et comment pourrais-je utiliser cette fonction car je n'ai pas de chaine de caractère mise dans une variable...
    Je fait dirrectement appel à une fonction ..


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string utf8_decode ( string render_news($feed_url2, $showdetail, $headlinestyle, $detailstyle));
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $data = render_news($feed_url2, $showdetail, $headlinestyle, $detailstyle);
    string utf8_decode ( string $data );
    echo $data;
    Sa ne me donne rien ...

  12. #12
    Membre chevronné
    Profil pro
    Responsable de service informatique
    Inscrit en
    Septembre 2004
    Messages
    352
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Septembre 2004
    Messages : 352
    Par défaut
    Plutôt comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $data = render_news($feed_url2, $showdetail, $headlinestyle, $detailstyle);
    $data = utf8_decode ($data);
    echo $data;

  13. #13
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    270
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 270
    Par défaut
    Merci, mais sa ne marche pas

    arrêtés - è - Étrange
    Sa ne vient pas du faite que j'affiche le resultat d'une fonction ? plutôt que d'une variable?


    je vien d'essayer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $showdetail = utf8_decode ($showdetail);
    render_news($feed_url2, $showdetail, $headlinestyle, $detailstyle);
    mais toujours rien..

Discussions similaires

  1. Réponses: 6
    Dernier message: 26/07/2009, 13h47
  2. [Prototype] Encodage UTF8 AJAX Updater et accent
    Par fongus dans le forum Bibliothèques & Frameworks
    Réponses: 10
    Dernier message: 22/10/2008, 15h55
  3. Lecture fichier en UTF8 / problème d'accent
    Par nyoshi dans le forum Qt
    Réponses: 1
    Dernier message: 22/08/2008, 12h11
  4. Remplacer les accents de LATIN1 dans un UTF8 ?
    Par thelynks dans le forum Requêtes
    Réponses: 1
    Dernier message: 06/02/2008, 22h13
  5. Réponses: 5
    Dernier message: 09/11/2006, 16h51

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