Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Résolu] XAMPP et les accents

Problème de charset apparemment

Sujet résolu
    21 décembre 2014 à 9:24:06

    Bonjour,

    Comme supposé par mon titre, je travaille en local avec XAMPP. Mon serveur distant est free.

    Le site distant ne pose aucun souci, l'affichage est nickel.

    En local, en revanche... Tous les caractères accentués sont remplacés par le symbole �

    En cherchant sur le net, cela viendrait de cette ligne :

     <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

    Il faudrait que je mette charset=UFT-8

    Sauf que ça me parait un chouïa harassant de devoir modifier le code de chaque page avant transfert sur serveur !!!

    Il n'y aurait pas une manip à faire en local sur XAMPP, plutôt ?

    Merci d'avance.

    Ehlana

    -
    Edité par ehlanadiamant 21 décembre 2014 à 12:29:43

    • Partager sur Facebook
    • Partager sur Twitter
      21 décembre 2014 à 10:22:17

      pourquoi modifier le code avant upload ? Free gère parfaitement bien l'utf-8. (comme la plupart des serveurs ... pour ne pas dire tous)
      • Partager sur Facebook
      • Partager sur Twitter
      pensez au "+1" si ça vous a aider, ça fait toujours plaisir ;)
        21 décembre 2014 à 10:54:43

        Rectificatif ...

        En local, mettre

        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        

        Ne change strictement rien au problème...

        Pourquoi le serveur Apache de XAMPP ne gère pas les accents (comme la plupart des serveurs ... pour ne pas dire tous, pour reprendre tes mots rincevent01 :) )

        Merci pour ta réponce rincevent01, au passage ;)

        -
        Edité par ehlanadiamant 21 décembre 2014 à 11:00:57

        • Partager sur Facebook
        • Partager sur Twitter
          21 décembre 2014 à 11:10:12

          Tous les caractères accentués sont remplacés par le symbole �

          Les caractères de quoi au juste ? Une chaîne statique dans un script/fichier ? Une chaîne qui vient d'une bdd ? etc

          • Partager sur Facebook
          • Partager sur Twitter
            21 décembre 2014 à 11:17:02

            Les deux mon capitaine ;)

            Texte statique chteumeuleu ou donnée récupérée de ma BDD...

            Même quand je vais dans le code source (CTRL+U) de ma page en local, tous les caractères accentués sont remplacés par le symbole �

            • Partager sur Facebook
            • Partager sur Twitter
              21 décembre 2014 à 11:24:27

              lorsque tu codes, ton éditeur de texte est bien configuré en utf-8 ?

              et dans le httpd.conf d'apache tu doit avoir une ligne qui correspond a l'encodage par defaut du serveur, passe le en utf-8 si ce n'est déja fait.

              -
              Edité par rincevent01 21 décembre 2014 à 11:29:23

              • Partager sur Facebook
              • Partager sur Twitter
              pensez au "+1" si ça vous a aider, ça fait toujours plaisir ;)
                21 décembre 2014 à 11:27:03

                Déjà pour obtenir � sur une page que tu déclares comme étant en ISO, c'est que cette dernière est ignorée/bypassée (par l'entête HTTP Content-Type par exemple) pour de l'UTF-8.

                En ce qui concerne le SGBD, quel est-il ? As-tu fait l'équivalent du SET NAMES (valeur latin1 si tu veux du Windows-1252 en sortie, utf8 pour de l'UTF-8).

                -
                Edité par julp 21 décembre 2014 à 11:28:12

                • Partager sur Facebook
                • Partager sur Twitter
                  21 décembre 2014 à 11:38:27

                  rincevent01 le httpd.conf contient apparemment (du moins pour ce que j'y comprends) des tas d'include.

                  J'ai fait une recherche sur "utf" y'a rien...

                  Sinon, j'utilise phpDesigner 8 et je n'ai aucune idée s'il enregistre en UTF-8 ou non.

                  julp je suis désolée, je ne comprends absolument pas ce que tu me dis...

                  J'ai essayé

                  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

                  ça ne fonctionne pas non plus...

                  -
                  Edité par ehlanadiamant 21 décembre 2014 à 11:43:41

                  • Partager sur Facebook
                  • Partager sur Twitter
                    21 décembre 2014 à 11:46:16

                    Salut !

                    Reprend les quelques premiers points de cette entrée de la FAQ, pensée expressément pour des cas comme le tien. On y trouve ce que julp te demande de faire au point 4.

                    -
                    Edité par Ymox 24 septembre 2020 à 17:40:36

                    • Partager sur Facebook
                    • Partager sur Twitter
                      21 décembre 2014 à 11:48:17

                      dans httpd.conf, tu dois avoir une ligne qui ressemble a ça, si ce n'est pas le cas, ajoute la :

                      AddDefaultCharset utf-8

                      le httpd.conf se trouve dans apache/conf/ (je ne suis pas sous windows mais ça doit être ça)

                      devant la ligne il se peu qu'il y ai un # dans ce cas enlève le

                      EDIT: tu as peut-être la ligne : AddDefaultCharset iso-8859-1 dans ce cas change pour utf-8

                      -
                      Edité par rincevent01 21 décembre 2014 à 11:50:50

                      • Partager sur Facebook
                      • Partager sur Twitter
                      pensez au "+1" si ça vous a aider, ça fait toujours plaisir ;)
                        21 décembre 2014 à 11:54:32

                        Mouais, le problème c'est que PHP fait éventuellement déjà (PHP passant avant Apache) l'équivalent via default_charset.

                        A ce compte là, si on veut être portable (pas bien de compter sur des valeurs par défaut), rien de tel qu'un bon vieux header('Content-type: text/html; charset=utf-8'); (en l'explicitant, ni Apache ni PHP ne repasse derrière pour modifier cet entête).


                        Bref, là (en "déclarant" ta page comme étant encodée en UTF-8), si un accent ou autre d'une chaîne statique s'affiche par � c'est que ton fichier n'est pas enregistré en UTF-8.

                        Par contre, ce qui provient de la base de données, c'est une question un peu à part, à laquelle je t'ai déjà répondu (et Ymox aussi).

                        -
                        Edité par julp 21 décembre 2014 à 12:00:45

                        • Partager sur Facebook
                        • Partager sur Twitter
                          21 décembre 2014 à 12:04:31

                          oui Julp entièrement d’accord avec toi pour apache et php, je cherchai juste ce qui changeait entre le local et le le serveur distant.

                          et je suis également d'accord avec toi sur l'encodage du texte, c'est pour ça que je lui demandai la conf de son éditeur de texte.

                          Du coup, ehlanadiamant regarde dans la conf de phpdesigner 8 pour connaître l'encodage qu'il utilise.

                          • Partager sur Facebook
                          • Partager sur Twitter
                          pensez au "+1" si ça vous a aider, ça fait toujours plaisir ;)
                            21 décembre 2014 à 12:09:12

                            julp, j'ai fait comme tu m'as dit :

                            <?php
                            SESSION_START();
                            require ("connect.inc");          // connection base
                            require ("class.php");            // Securite variable
                            require ("date_conviviale.php"); // gere le format de la date
                            header('Content-type: text/html; charset=utf-8');
                            

                            (ce sont les premières lignes de mon code) et pas mieux...

                            J'en conclus que c'est l'enregistrement qui se fait mal...

                            • Partager sur Facebook
                            • Partager sur Twitter
                              21 décembre 2014 à 12:15:26

                              Ayé, j'ai trouvé !!!

                              Dans phpDesigner : Aller dans Fichier > Encodage du fichier > Sélectionner UTF-8 dans la liste.

                              Et même mieux : Outil > Préférence > Général > Type d'encodage UTF-8

                              Merci à vous !

                              • Partager sur Facebook
                              • Partager sur Twitter
                                21 décembre 2014 à 12:18:30

                                impeccable, passe le sujet en résolu si tout va bien.
                                • Partager sur Facebook
                                • Partager sur Twitter
                                pensez au "+1" si ça vous a aider, ça fait toujours plaisir ;)
                                  21 décembre 2014 à 12:19:25

                                  As-tu regardé les points de la FAQ ? Tu travailles avec XAMPP, donc tu es en local, tu n'as normalement pas besoin de spécifier le jeu de caractères avec header() si tu spécifies proprement le jeu de caractères de toutes tes pages.

                                  ehlanadiamant a écrit:

                                  En cherchant sur le net, cela viendrait de cette ligne :

                                   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

                                  Il faudrait que je mette charset=UFT-8

                                  Sauf que ça me parait un chouïa harassant de devoir modifier le code de chaque page avant transfert sur serveur !!!

                                  Tu le mets sur toutes les pages de ton site en local, et quand tu enverras au serveur, ce sera OK. Ce n'est pas quelque chose que l'on ne doit mettre que quand on publie un site en ligne  ;)

                                  Edit

                                  Premier lien de ma signature SVP

                                  Quoi que maintenant, on arrive à se dire qu'il y a eu des réponses entre-temps en chronométrant le temps de traitement du message, mais c'est pas le but.

                                  Edit <small>2</small>

                                  Si jamais, pour signaler un sujet résolu, il y a un bouton au-dessus à droite du premier message

                                  -
                                  Edité par Ymox 21 décembre 2014 à 12:43:10

                                  • Partager sur Facebook
                                  • Partager sur Twitter

                                  [Résolu] XAMPP et les accents

                                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                  • Editeur
                                  • Markdown