Partage
  • Partager sur Facebook
  • Partager sur Twitter

La supression d'un charactère

Sujet résolu
    21 février 2017 à 22:08:35

    Bonsoir,

    Je souhaiterai supprimer un charactère spécial qui ne s'affiche pas lors du chargement de ma page. 

    Pour cela j'ai écrit le code ci-dessous :

     $d = str_replace('§f','',$d);

    Pourtant lorsque je lance ma page, il y a écrit "�f" ce qui représente "§f"

    Merci d'avance

    • Partager sur Facebook
    • Partager sur Twitter
     Tiens salut toi! Cryptmyfiles est ici!
      21 février 2017 à 23:04:19

      C'est ça?

      header('Content-Type: text/html; charset=utf-8');

      Ca ne marche pas :(

      • Partager sur Facebook
      • Partager sur Twitter
       Tiens salut toi! Cryptmyfiles est ici!
        21 février 2017 à 23:19:02

        Non. Le fichier, ton script, il est encodé en quoi ? Menu encodage de ton éditeur ou autre fichier > enregistrer sous éventuellement ?

        Le caractère §, en UTF-8 s'encode par la séquence des deux octets 0xC2 et 0xA7. Or en ISO-8859-1 (et similaires), il s'encode par un seul : 0xA7. Ma théorie est donc que ta chaîne ($d) est en UTF-8 (0xC2 0xA7 + le caractère f) mais que ton script ne l'est pas : dans la séquence 0xC2 0xA7 f, tu supprimerais alors les octets 0xA7 et f mais le premier octet (0xC2) du caractère § reste et forme alors une chaîne UTF-8 invalide, d'où l'octet 0xC2 qui devient �

        Sinon, autres options, remplacer '§f' par :

        • "\xC2\xA7f"
        • ou avec PHP >= 7 "\u{A7}"

        Mais je pense qu'un script encodé en UTF-8 serait une bien meilleure solution.

        -
        Edité par julp 21 février 2017 à 23:27:02

        • Partager sur Facebook
        • Partager sur Twitter
          22 février 2017 à 12:30:30

          J'utilise Brackets, je pense qu'il encode automatiquement en UTF-8, non?
          • Partager sur Facebook
          • Partager sur Twitter
           Tiens salut toi! Cryptmyfiles est ici!
            22 février 2017 à 12:41:02

            CarrotInBlack a écrit:

            J'utilise Brackets, je pense qu'il encode automatiquement en UTF-8, non?

            ^^ comme les poules ont des dents.

            Bon sans blaguer, il faut que tu encodes/demandes à encoder le fichier à ton éditeur.

            Sinon c'est caractère ,et pas charactère => characters c'est de l'anglais et ça veux dire personnages (d'un livre par exemple) mais charactère c'est nawak ;)

            ++

            • Partager sur Facebook
            • Partager sur Twitter
              22 février 2017 à 13:20:20

              C'est bon j'ai retrouvé :D

              $d = mb_convert_encoding($d, 'UTF-8', 'UCS-2');

              Cela marche maintenant merci pour vos réponses :)

              • Partager sur Facebook
              • Partager sur Twitter
               Tiens salut toi! Cryptmyfiles est ici!
                22 février 2017 à 13:22:24

                heu le plus simple est de convertir ton script en UTF-8 mais bon, si tu veux te tirer une balle dans le pied, libre à toi ;)

                ++

                • Partager sur Facebook
                • Partager sur Twitter

                La supression d'un charactère

                × 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