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

Langage PHP Discussion :

Problème d'encodage


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Profil pro
    Inscrit en
    Février 2005
    Messages
    317
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 317
    Par défaut Problème d'encodage
    Salut à tous, j'ai dans mon site une fonction récupérant du texte, qui va ensuite l'encode en base 64, puis le stocker dans la bdd.
    Prenons cette chaîne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dHRyZXRyZXRyZXR0csOpw6nDqcOpw6nDqQoKZHNxc3Fkc3FkCgoKInJmZGZzw6nDqcOpw6nDqcOpw6DDoMOgw6DDoMOgw6DDoMOgw6DDoMOgCg
    ==

    Le decodage donne bien :
    ttretretrettréééééé dsqsqdsqd "rfdfsééééééàààààààààààà

    http://www.opinionatedgeek.com/dotne.../Base64Decode/

    Par contre, lorsque j'affiche ma page j'ai ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    ttretretrettréééééé
     
    dsqsqdsqd
     
     
    "rfdfsééééééà à à à à à à à à à à Ã
    dans mon html, j'ai bien mis:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <html>
    <head>
    <title>Correction of a TP</title>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
     
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    J'affiche mon texte de la sorte:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo $this->questionResponse=base64_decode($r['responseText']);
    J'ai essayé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $this->questionResponse=utf8_decode(base64_decode($r['responseText']));
    Et je n'obtiens plus rien.
    alors que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo mb_detect_encoding($this->questionResponse)."<br />";
    donne bien UTF-8...

    La je bloques, une idée ?

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Citation Envoyé par nek_kro_kvlt Voir le message
    dans mon html, j'ai bien mis:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo mb_detect_encoding($this->questionResponse)."<br />";
    donne bien UTF-8...
    N'y aurait-il une contradiction entre les deux phrases précédemment citées ?

    M'est avis que ta page devrait être en UTF-8 aussi...
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Membre éclairé

    Profil pro
    Inscrit en
    Février 2005
    Messages
    317
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 317
    Par défaut
    Citation Envoyé par Celira Voir le message
    N'y aurait-il une contradiction entre les deux phrases précédemment citées ?

    M'est avis que ta page devrait être en UTF-8 aussi...
    Non, car en fait la page qui affiche le texte, n'est pas la même que celle qui vas récupérer les données dans la bdd

  4. #4
    Membre éclairé

    Profil pro
    Inscrit en
    Février 2005
    Messages
    317
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 317
    Par défaut
    Bon en fait ça venait du fait que je modifiait ma string avec des str_ireplace et preg_replace, qui ne fonctionnent apparament pas avec le charset ISO...

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

Discussions similaires

  1. [CSV] Problème d'encodage
    Par simoryl dans le forum Langage
    Réponses: 13
    Dernier message: 18/04/2012, 16h20
  2. Problème d'encodage avec Python
    Par tse_tilky_moje_imja dans le forum Général Python
    Réponses: 2
    Dernier message: 22/02/2006, 15h36
  3. Problème d'encodage en Unicode
    Par Skreo dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 28/12/2005, 11h43
  4. Problème d'encodage sur MySql 4.1
    Par Blanchet dans le forum Outils
    Réponses: 1
    Dernier message: 04/12/2005, 05h53
  5. [XML::PARSER] Problème d'encodage
    Par frangin2003 dans le forum Modules
    Réponses: 13
    Dernier message: 05/09/2005, 15h59

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