Bonjour,

Suite a quelques problème anciennement rencontré du a l'encodage en UTF-8 de mon site,
J'ai convertie toutes mes page en ANSI a l'aide de Notpad ++.

Malheureusement depuis sur chacune des page ou j'utilise du php, je vois apparaitre un (ou des oO ?) caractere disgracieux s'afficher :




(Cf screen -> http://www.noelshack.com/uploads/azzz036847.JPG )

Voila un exemple de code source (prit sur le site en ligne) ou apparait ce caractere :

<div id="corps">



<h2> Livre d'or </h2>
    <div id="livre">
        <p></p>
    
        <form method="post" action="?page=vlivre">

            <p>
                        <label>Pseudo :</label><br><input name="pseudo" size="20"><br><br>
                        <label>Message :</label><br>

            <textarea name="message" rows="6" cols="55"></textarea><br><br>
            <label for="captcha"><img src="captcha.php" alt="Captcha"></label><br><br>
            <label>Recopiez le code : <br> </label><input name="captcha" id="captcha" type="text"><br><br>
            <input value="Envoyer" type="submit">
            </p>
        </form>


    </div>

[...]


Et voila le bout de code php :

       <div id="corps">
        <?php
        $url = $_GET['page'];
        $url = htmlspecialchars($url);
        $valide = array('livre', 'vlivre', 'out', 'register', 'mail', 'membre', 'info_membre', 'compte', 'compte2', 'lire', 'benvoi', 'envoi', 'connexion');
        
        if (in_array($url, $valide))
        {
            include("$url.php");
        }
        else
        {
            include('acceuil.php');
        }
        
        
        ?>
        </div>

[...]


N'ayant trouver aucune solution a ce problème j'ai d abord voulue repasser mes pages sous le format UTF-8.

Une fois fait le caractere n'étais plus visible a l'oeil bue (du moin du mien Smiley langue ), mais persister a etre present (je ne sait comment) et me crée des erreurs au niveau de mon systeme de session.

Ayant "améliore" mon site, j'ai code d'autre page directement sous le format ANSI, sur ces pages ce problème n'apparait pas.

J'ai aussi essayer de copier/coller le code de notpad++ dans une nouveau fichier initialement encode en ANSI, ca n'as rien changer Smiley ohwell

Alors plus le temps passe et plus je me dit que le seul moyen de regler mon probleme serait de recoder de A a Z tous mon code (Aouch >>><<)

J'aimerai autant ne pas en arriver la !

Enfin voila, auriez vous une idée ? ou la connaissance d'un logiciel pouvant régler mon problème ?


Bien a vous,

Nementon.
Modifié par Nementon (27 Nov 2008 - 22:54)
Bonjour,

1. ANSI n'est pas un encodage. Je sais bien que Notepad++ appelle comme ça un encodage, mais c'est une connerie totale. Conseil: lire la FAQ du forum à ce sujet pour se culturer, ou virer Notepad++, ou les deux. Smiley smile

2. Passer sans arrêt d'un encodage à l'autre, c'est pas super conseillé. Quand tu dis que tu réencodes tes pages, cela signifie que tu modifies à la fois l'encodage réel des fichiers (et données en base de données le cas échéant) et l'encodage déclaré au niveau des pages et du serveur? (Si ces notions ne sont pas claires, voir la FAQ du forum, et en guise d'introduction le billet en post-it du salon encodage et internationalisation.)

3. Les trois caractères disgracieux correspondent à l'affichage, pour une page analysée (car déclarée) en ISO-8859-1, des trois octets du Byte-Order Mark d'UTF-8. Il est préférable de travailler en UTF-8 sans BOM, notamment pour éviter ce désagrément.
Bonjour,

Après quelque recherche sur wikipedia Smiley langue
Le problème vient effectivement de ce fameux "BOM" qui m'était inconnus.

Malheureusement je ne sait pas comment le faire disparaitre, et si cela est possible ?

Bien a vous,

Nementon.
Nementon a écrit :
Malheureusement je ne sait pas comment le faire disparaitre, et si cela est possible ?

En réencodant les fichiers UTF-8 en UTF-8 sans BOM.
Hello Nementon,

Dans notepad++ : Onglet Format --> Encoder en UTF-8 (sansBOM)

Cdt,
Sylvain
6l20 a écrit :
Dans notepad++ : Onglet Format --> Encoder en UTF-8 (sansBOM)

Ce ne serait pas plutôt «Format > Convertir en UTF-8 (sans BOM)»? Attention: dans Notepad++ 5, les deux options sont disponibles, et il ne faut pas les confondre, leur résultat étant différent.
Florent V. a écrit :

Ce ne serait pas plutôt «Format > Convertir en UTF-8 (sans BOM)»? Attention: dans Notepad++ 5, les deux options sont disponibles, et il ne faut pas les confondre, leur résultat étant différent.

Bien vu Smiley cligne
Smiley jap
Merci de vos reponces, (j'en aurait apprit beaucoup)

Mais malheureusement pour moi je crois que mes pauvres fichiers n'ont pas supporter tous ses différant encodages Smiley ohwell

J'ai beau les convertir en utf-8 puis en utf-8 sans BOM (eh je dit bien convertir Smiley langue )

Rien y fait, ce fameux BOM reste présent !! Smiley biggol
Modifié par Nementon (03 Dec 2008 - 00:56)