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 :

WAMP encodage des é en utf-8 [PHP 5.6]


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur du Dimanche
    Inscrit en
    Juillet 2014
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur du Dimanche
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2014
    Messages : 147
    Points : 70
    Points
    70
    Par défaut WAMP encodage des é en utf-8
    Bonjour à tous

    J'ai un tableau html avec du php que que je désire exporter en calc pour l'utiliser dans libre office

    L'encodage réel du document est en utf-8 (sans BOM)

    L'encodage déclaré du fichier est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header( 'content-type: text/html; charset=UTF-8' );
    Après mysql_query j'ai cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     mysqli_set_charset($link,'utf8');
    J'ai mis à la racine du site un .htaccess
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AddDefaultCharset UTF-8
    Et pourtant lorsque je fais un export du tableau en xls j'ai les caractères
    é en é
    apostrophe:' en ’


    Merci d'avance
    -"Mais ici on attend pas jusqu'au Dimanche ?"

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2018
    Messages : 7
    Points : 7
    Points
    7
    Par défaut
    Bonjour dans ton document html place la balise :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <meta charset="UTF-8"/>
    Dans ton head.
    C'est peut être une solution si cela ne fonctionne pas j'ai pas d'autre idée.

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur du Dimanche
    Inscrit en
    Juillet 2014
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur du Dimanche
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2014
    Messages : 147
    Points : 70
    Points
    70
    Par défaut
    Salut,

    merci mais je l'ai déja en place dans l'index.php
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     <!DOCTYPE html>
     
        <html lang="fr">
     
        <head>
     
            <meta charset="UTF-8" />
    </head>

    dans le fichier excel.php j'ai que du php pas de html.
    -"Mais ici on attend pas jusqu'au Dimanche ?"

  4. #4
    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 : 39
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Les accents loupés sont dans le fichier généré, c'est bien ça. Comment génères-tu ce fichier ?
    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]

  5. #5
    Membre régulier
    Homme Profil pro
    Développeur du Dimanche
    Inscrit en
    Juillet 2014
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur du Dimanche
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2014
    Messages : 147
    Points : 70
    Points
    70
    Par défaut
    Salut,

    Merci de vous pencher sur le sujet.

    dans le fichier excel.php j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $output .= '</table>';		 
                            	header("Content-Type: application/xls");
    				header("Content-Disposition: attachement; filename=VivierISRI-2018.xls");
    	echo $output;
    -"Mais ici on attend pas jusqu'au Dimanche ?"

  6. #6
    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 : 39
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Tu peux essayer d'ajouter un header( 'content-type: text/html; charset=UTF-8' ); ici aussi, si ce n'est pas déjà le cas.
    Cela dit, il est possible que le problème vienne d'Excel. Il me semble que nativement Excel ne travaille en UTF-8 mais en ISO-8859-1 (ou 15, ou une version bâtarde pour windows, je ne sais plus exactement) Du coup, il est probable que ton fichier soit bien UTF8 mais que Excel ne le comprenne pas

    Ton fichier est-il lisible dans un éditeur de texte, type Notepad++ ? Si oui, vérifie l'encodage et si les caractères s'affichent correctement.
    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]

  7. #7
    Membre régulier
    Homme Profil pro
    Développeur du Dimanche
    Inscrit en
    Juillet 2014
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur du Dimanche
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2014
    Messages : 147
    Points : 70
    Points
    70
    Par défaut
    Malheureusement c'est bien encodé comme il faut dans le document pas de texte avec des caractères spéciaux en effet...
    -"Mais ici on attend pas jusqu'au Dimanche ?"

  8. #8
    Membre expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 58
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Points : 3 627
    Points
    3 627
    Billets dans le blog
    8
    Par défaut
    Tu es sous Windows ou Mac ? Excel ne réagit pas pareil selon l'OS.
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  9. #9
    Membre régulier
    Homme Profil pro
    Développeur du Dimanche
    Inscrit en
    Juillet 2014
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur du Dimanche
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2014
    Messages : 147
    Points : 70
    Points
    70
    Par défaut
    Salut, Windows.
    -"Mais ici on attend pas jusqu'au Dimanche ?"

  10. #10
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2013
    Messages : 27
    Points : 41
    Points
    41
    Par défaut
    Salut,

    pour t'aider à diagnostiquer ton problème utilise cette fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo mb_detect_encoding($taChaineATester);
    Détecter d'ou vient l'erreur aidera grandement.

    Sinon en cherchant un peu sur internet j'ai trouvé que tu pouvais rajouter ceci au début du fichier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    chr(0xEF) . chr(0xBB) . chr(0xBF)

  11. #11
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Bon déjà un contenu HTML ne devient pas une fichier Excel en lui collant une extension .xls.
    Ensuite comme l'a dit Celira, Excel ne travaille pas nativement en UTF8.

    Tu peux essayer en ajoutant un BOM manuellement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "\xEF\xBB\xBF . $output;
    Sinon passe les données en Windows-1252 au lieu de UTF-8.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  12. #12
    Membre régulier
    Homme Profil pro
    Développeur du Dimanche
    Inscrit en
    Juillet 2014
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur du Dimanche
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2014
    Messages : 147
    Points : 70
    Points
    70
    Par défaut
    Bonjour,

    si je rentre ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "\xEF\xBB\xBF". $output;
    j'ai en sortie les données en brut dans le tableau
    c'est à dire du texte avec des balises html éparses dans des cellules
    C'est un bon début puisqu'il n'y a plus les fautes ...
    -"Mais ici on attend pas jusqu'au Dimanche ?"

  13. #13
    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 : 39
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Pour la mise en forme, je te renvoie à la remarque de Sab' :
    Citation Envoyé par sabotage Voir le message
    un contenu HTML ne devient pas une fichier Excel en lui collant une extension .xls.
    Si c'est effectivement ce que tu fais, ça revient à écrire un fichier HTML et à renommer le fichier en lui mettant une extension .xls, et prier la Suprême Puissance de ton choix pour que ça fonctionne. En général, ça ne fonctionne pas, la Suprême Puissance doit avoir des trucs plus importants à gérer.

    Si tu veux générer un fichier Excel, il te faut une API pour ça. Tu peux t'intéresser à PhpSpreadsheet, qui est le successeur de PHPExcel.

    Au passage, les fichiers excel en .XLS, c'est pour les versions d'Excel avant Excel 2007 et c'est casse-pied à coder. Tu pourrais peut-être envisager de générer des fichiers XLSX
    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]

  14. #14
    Membre régulier
    Homme Profil pro
    Développeur du Dimanche
    Inscrit en
    Juillet 2014
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur du Dimanche
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2014
    Messages : 147
    Points : 70
    Points
    70
    Par défaut
    pour corriger mon encodoge,
    il faut juste mettre ce ligne de code : $outputCsv = utf8_decode($outputCsv); avant cet ligne:

    header("Content-disposition: attachment; filename=".$fileName);
    Pour ceux que ça intéresse...
    MERCI pour votre aide.
    -"Mais ici on attend pas jusqu'au Dimanche ?"

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

Discussions similaires

  1. Encodage des caractères UTF-8
    Par joffrey575 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 16/12/2015, 12h46
  2. [Wamp] encodage des caratères accentués sous Wamp 2.2
    Par shinji7800 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 18/01/2012, 09h57
  3. [HTML] Encodage des accents en UTF-8 (très bizarre)
    Par Aspic dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 02/07/2008, 14h01
  4. [VS2005 express] Encodage des fichiers en UTF-8
    Par xwindoo dans le forum Visual C++
    Réponses: 0
    Dernier message: 07/04/2008, 16h44
  5. [XML] encodage des accents
    Par matonfire dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 05/05/2004, 15h48

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