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 :

Caractères cabalistiques BDD


Sujet :

Langage PHP

  1. #21
    Membre actif Avatar de elcoyotos
    Homme Profil pro
    Amateur passionné
    Inscrit en
    Octobre 2006
    Messages
    490
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Amateur passionné

    Informations forums :
    Inscription : Octobre 2006
    Messages : 490
    Points : 294
    Points
    294
    Par défaut
    Bonjour,
    Voici les réponse aux questions posées :

    Encodage de mes fichiers PHP :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    J'ai fait ce que tu m'a demandé Eusèbe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    // Si champ q différent de vide et au moins 4 caractères
    if ( ! empty ($_GET['q']) and strlen($_GET['q']) > 3 ) {
     
     
         // Passage de tout le mot en minuscule
        $str = $_GET['q'];
        $mot = mb_strtolower($str);
     
        // Date du jour
        $date = date ("Y-m-d");
     
        // Connection à la base
        include ("connexion.php");
     
        // Requete d'insertion
        $sql = "INSERT INTO usa_motscles_wait VALUES ('".$mot."','".$date."','1')";
        echo $sql."<br>"; // Echo de la requete avant insertion
        $result = mysql_query ($sql, $conn);
     
        // Requete d'affichage
        $sql = "SELECT * FROM usa_motscles_wait WHERE motcle_wait = '".$mot."'";
        $result = mysql_query( $sql , $conn );
        $row = mysql_fetch_assoc( $result );
     
        echo $row['motcle_wait']."<br>"; // Echo provenant de la atable        
     
        mysql_close();
     
    }
    Et voici à l'affichage :
    INSERT INTO usa_motscles_wait VALUES ('é à ù è é &','2009-01-19','1')
    é à ù è é &

    Je reprécise que chez moi, je n'arrive pas à reproduire le problème.
    A savoir que les caractères accentués sont correctement enregistrés (tel quel) chez moi....

    Par contre, venant des utilisateurs, j'ai toujours des caractères étranges du style :

    • minnéapolis
    • états

    Écoute, sinon ta langue te perdra (proverbe Navajo)

  2. #22
    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
    C'est la définition de l'encodage HTML que tu nous donnes.
    Comme je te l'ai dit, tu peux voir l'encodage du fichier avec le programme notepad++ dans le menu "format"

    Controle les parametres mysql concernant l'encodage (visible dans les variables serveur depuis phpmyadmin).
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #23
    Membre actif Avatar de elcoyotos
    Homme Profil pro
    Amateur passionné
    Inscrit en
    Octobre 2006
    Messages
    490
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Amateur passionné

    Informations forums :
    Inscription : Octobre 2006
    Messages : 490
    Points : 294
    Points
    294
    Par défaut
    Pour les variables serveurs :

    character set client utf8
    (Valeur globale) latin1
    character set connection utf8
    (Valeur globale) latin1
    character set database latin1
    character set filesystem binary
    character set results utf8
    (Valeur globale) latin1
    character set server latin1
    character set system utf8
    character sets dir /usr/share/mysql/charsets/
    collation connection utf8_general_ci
    (Valeur globale) latin1_general_ci
    collation database latin1_general_ci
    collation server latin1_general_ci


    Pour le fichier avec le programme notepad++ :

    La seule ligne grisée dans le menu est : Convertir en format windows

    Dernière précision : Sur mon site, j'ai un forum, un livre d'or, un chat, des commentaires et sur ces scripts, je n'ai aucun problème avec les caractères. D'où mon étonnement avec mon script qui pose problème ...

    Voilà, sabotage j'espère que les infos que tu m'as demandé t'aideront...
    Écoute, sinon ta langue te perdra (proverbe Navajo)

  4. #24
    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
    C'est la ligne avec le petit point devant qu'il faut

    Sinon, comme je t'ai dit, donne nous un code minimal et un dump sql de ta base pour voir comment ca se comporte chez nous.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #25
    Membre actif Avatar de elcoyotos
    Homme Profil pro
    Amateur passionné
    Inscrit en
    Octobre 2006
    Messages
    490
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Amateur passionné

    Informations forums :
    Inscription : Octobre 2006
    Messages : 490
    Points : 294
    Points
    294
    Par défaut
    Pour le fichier avec le programme notepad++ : ANSI

    Formulaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <form action="recherche_google.php" id="cse-search-box">
                <input type="hidden" name="cx" value="013810000853351824682:hztoesxbw9o" />
                <input type="hidden" name="cof" value="FORID:9" />
                <input type="hidden" name="ie" value="ISO-8859-1" />
                <input type="text" name="q" id="q" onkeyup="ajax_showOptions(this,'getCountriesByLetters',event)" size="50" maxlength="255" />
                <input type="hidden" id="country_hidden" name="country_ID">
                <input type="submit" name="sa"class="btn"  value="Rechercher" />
            </form>
            <script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=cse-search-box&lang=fr"></script>
    Page qui enregistre les données :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    // Si champ q différent de vide et au moins 4 caractères
    if ( ! empty ($_GET['q']) and strlen($_GET['q']) > 3 ) {
     
     
         // Passage de tout le mot en minuscule
        $str = $_GET['q'];
        $mot = mb_strtolower($str);
     
        // Date du jour
        $date = date ("Y-m-d");
     
        // Connection à la base
        include ("connexion.php");
     
    // ***** On regarde si le mot n'existe pas déjà
        $sql = "SELECT * FROM usa_motscles WHERE motcle = '".$mot."'";
        $result = mysql_query( $sql , $conn );
        $row = mysql_fetch_assoc( $result );
     
    // ***** Si il existe
        if ( mysql_affected_rows ( $conn ) == 1) {
     
            $addition = $row['cumul'] + 1;
     
            // Requete de mise à jour
            $sql = "UPDATE usa_motscles SET cumul = '".$addition."', datemotcle = '".$date."' WHERE motcle = '".$mot."'";
            $result = mysql_query ( $sql, $conn );    
        }
     
    // ***** Si il n'existe pas
        else {
     
            // ***** On regarde si le mot n'existe pas déjà
            $sql = "SELECT * FROM usa_motscles_wait WHERE motcle_wait = '".$mot."'";
            $result = mysql_query( $sql , $conn );
            $row = mysql_fetch_assoc( $result );
     
            // ***** Si il existe
            if ( mysql_affected_rows ( $conn ) == 1) {
     
                $addition = $row['cumul_wait'] + 1;
     
                // Requete de mise à jour
                $sql = "UPDATE usa_motscles_wait SET cumul_wait = '".$addition."', datemotcle_wait = '".$date."' WHERE motcle_wait = '".$mot."'";
                $result = mysql_query ( $sql, $conn );    
            }
     
            else {
                // Requete d'insetion
                $sql = "INSERT INTO usa_motscles_wait VALUES ('".$mot."','".$date."','1')";
                $result = mysql_query ( $sql, $conn );
            }
     
        }
     
        mysql_close();
     
    }
    Dump SQL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    -- 
    -- Structure de la table `usa_motscles_wait`
    -- 
     
    CREATE TABLE `usa_motscles_wait` (
      `motcle_wait` varchar(50) collate latin1_general_ci NOT NULL default '',
      `datemotcle_wait` date NOT NULL default '0000-00-00',
      `cumul_wait` int(5) NOT NULL default '0',
      PRIMARY KEY  (`motcle_wait`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
     
    -- 
    -- Contenu de la table `usa_motscles_wait`
    -- 
     
    INSERT INTO `usa_motscles_wait` VALUES ('50 ã©tats', '2009-01-19', 1);
    INSERT INTO `usa_motscles_wait` VALUES ('mãƒâ©tãƒâ©o', '2009-01-19', 1);
    INSERT INTO `usa_motscles_wait` VALUES ('aoloriage amãƒâ©rindiens', '2009-01-20', 1);
    INSERT INTO `usa_motscles_wait` VALUES ('cartes routiãƒâ¨res du wyoming', '2009-01-20', 1);
    INSERT INTO `usa_motscles_wait` VALUES ('décalage horaire usa', '2009-01-20', 2);
    INSERT INTO `usa_motscles_wait` VALUES ('prãƒâ©noms', '2009-01-20', 1);
    INSERT INTO `usa_motscles_wait` VALUES ('capteur de rãƒâªves', '2009-01-20', 1);
    Voilà ....
    Écoute, sinon ta langue te perdra (proverbe Navajo)

  6. #26
    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
    "décalage horaire usa" c'est toi qui l'a mis ? parce que c'est le seul qui a les accents.

    est-ce que les deux fichiers sont bien dans le meme encodage ?

    Est-ce que le probleme ne viendrait pas d'un seul utilisateur ?
    En effet si on force le navigateur en UTF8 sur une page qui devrait etre en ISO-8859, les caractères transmis puis inserés ne sont pas dans le bon encodage et cela donne ce que tu obtiens.

    essaie d'ajouter un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query("SET NAMES 'LATIN1';")
    dans ta connexion a la base pour être sur que la communication se fasse bien en latin1 mais cela ne changera rien si le probleme vient du navigateur.

    Sinon il y a un probleme dans ton code : mysql_affected_rows() ne fonctionne pas avec des requêtes SELECT.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #27
    Membre actif Avatar de elcoyotos
    Homme Profil pro
    Amateur passionné
    Inscrit en
    Octobre 2006
    Messages
    490
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Amateur passionné

    Informations forums :
    Inscription : Octobre 2006
    Messages : 490
    Points : 294
    Points
    294
    Par défaut
    Depuis quand mysql_affected_rows() ne fonctionne pas avec des requêtes SELECT ?

    Chez moi, cela fonctionne parfaitement

    "décalage horaire usa" c'est toi qui l'a mis ? parce que c'est le seul qui a les accents.
    Non
    est-ce que les deux fichiers sont bien dans le meme encodage ?
    Oui --> ANSI
    Est-ce que le probleme ne viendrait pas d'un seul utilisateur ?
    Ba j'en sais rien du tout
    essaie d'ajouter un dans ta connexion a la base pour être sur que la communication se fasse bien en latin1 mais cela ne changera rien si le probleme vient du navigateur.
    Merci mais c'est ce que je pense (que le problème vient du navigateur)

    Merci beaucoup sabotage de d'être penché sur mon problème. Ce que je trouve tout de même étrange c'est que je n'ai jamais de caractères cabalistiques sur mon forum ou sur le livre d'or ou sur les commentaires...
    C'est le seul script ou ça me fait ça

    Juste une dernière question : Comment cela peut il venir du navigateur ?
    Écoute, sinon ta langue te perdra (proverbe Navajo)

  8. #28
    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
    J'ai fais poil de recherche :
    mysql_affected_rows() compte bien le nombre de lignes affectés par INSERT, UPDATE ou DELETE
    mysql_num_rows() quand a elle compte le nombre de lignes retournées par SELECT.

    Seulement, Mysql est très gentil, quand tu lui demandes mysql_affected_rows() alors que tu viens de faire un SELECT, il te retourne le resultat de mysql_num_rows()

    Je te propose quand meme de ne pas abuser des largesses de mysql et d'utiliser les bonnes fonctions pour les bonnes actions.

    ---

    Pour l'histoire du navigateur, c'est la seule façon qui m'a permis de reproduire le probleme : forcer le navigateur en UTF8 alors que la page est bien spécifié en Latin1.
    Tu devrais peut etre essayé de voir si toutes tes entrées mal encodées ne viennent pas de la meme personne.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #29
    Membre actif Avatar de elcoyotos
    Homme Profil pro
    Amateur passionné
    Inscrit en
    Octobre 2006
    Messages
    490
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Amateur passionné

    Informations forums :
    Inscription : Octobre 2006
    Messages : 490
    Points : 294
    Points
    294
    Par défaut
    Seulement, Mysql est très gentil, quand tu lui demandes mysql_affected_rows() alors que tu viens de faire un SELECT, il te retourne le resultat de mysql_num_rows()
    C'est mon Prof qui m'a appris ça !
    Bien sur, comme c'est(ait) mon prof, je ne vais pas vérifier ces dires ....
    Donc, maintenant, avec un SELECT, j'utiliserai mysql_num_rows()

    Bizarre ces "largesses MYSQL"
    Écoute, sinon ta langue te perdra (proverbe Navajo)

  10. #30
    Membre habitué Avatar de raffa
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    194
    Détails du profil
    Informations personnelles :
    Âge : 26
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 194
    Points : 159
    Points
    159
    Par défaut
    Citation Envoyé par elcoyotos Voir le message
    Bonjour,

    J'enregistre dans ma BDD Sql les mots clés tapés dans le moteur de recherche de mon site.

    La plupart du temps, ces derniers sont correctement enregistré.
    Mais, quelquefois, j'ai des caractères "cabalistiques" tel que :

    • minnéapolis
    • états

    Cela se produit sur les caractères accentués.

    D'où cela provient-il ?
    En haut de ton script essai en plaçant ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $set_names = mysql_query("SET NAMES 'latin1'");

  11. #31
    Membre actif Avatar de elcoyotos
    Homme Profil pro
    Amateur passionné
    Inscrit en
    Octobre 2006
    Messages
    490
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Amateur passionné

    Informations forums :
    Inscription : Octobre 2006
    Messages : 490
    Points : 294
    Points
    294
    Par défaut
    Ok raffa, je fais l'essai et merci de ton aide
    Et je vous tiens au courant
    Écoute, sinon ta langue te perdra (proverbe Navajo)

  12. #32
    Membre actif Avatar de elcoyotos
    Homme Profil pro
    Amateur passionné
    Inscrit en
    Octobre 2006
    Messages
    490
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Amateur passionné

    Informations forums :
    Inscription : Octobre 2006
    Messages : 490
    Points : 294
    Points
    294
    Par défaut
    J'ai essayé avec ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $set_names = mysql_query("SET NAMES 'latin1'");
    Résultat : Ca ne change rien !

    Pour vous donner une idée :


    Écoute, sinon ta langue te perdra (proverbe Navajo)

  13. #33
    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
    On en arrive toujours au meme point : quel utilisateur provoque ces problemes ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  14. #34
    Membre averti Avatar de Huntress
    Femme Profil pro
    Inscrit en
    Août 2004
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 475
    Points : 402
    Points
    402
    Par défaut
    Bonjour,

    Je vais ajouter mon grain de sel pour avoir beaucoup trimé la dessus, et avoir mis un point final à tous mes problèmes.

    Tu nous parles à un moment du fait que çà n'arrive jamais en local. Ceci vient peut être du fait du default charset d'apache, qui est en latin chez toi, et en utf8 sur le serveur distant.

    Ensuite pour moi le meta charset ne sert pas à grand chose car il ne semble pas toujours utilisé, je le mets quand même, mais je le double en utilisant la fonction header de PHP qui envoi le contenu du meta charset. Et pour finir il y a l'encodage du fichier PHP (ce qu'évoque sabotage). Pour ton cas j'ai cru lire que c'était de l'ANSI, donc là c'est bon tu touches à rien.

    Pour ce qui est d'un utilisateur spécifique qui mettrait le bordel en forçant l'usage de l'utf8 dans son navigateur je n'y crois pas. Enfin même si qq un force l'encodage, l'envoi d'un header charset doit surpasser cette configuration.

    Règle n°1 du forum francophone : Parler le français...
    Pas de question technique par MP, le forum est fait pour çà, merci.

  15. #35
    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
    Pour ce qui est d'un utilisateur spécifique qui mettrait le bordel en forçant l'usage de l'utf8 dans son navigateur je n'y crois pas. Enfin même si qq un force l'encodage, l'envoi d'un header charset doit surpasser cette configuration.
    Personnellement j'ai testé, si tu forces ton navigateur dans un encodage, tu salopes tout.
    J'ai croisé le cas recemment sur le forum egalement, tous les messages de l'utilisateur (forum, mp) avait des accents salopés.

    Pour le cas de notre ami, si j'ai bien compris, ce n'est pas seulement qu'en local ce ne fonctionne pas, c'est que lui même quand il post, les accents passent bien non ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  16. #36
    Membre averti Avatar de Huntress
    Femme Profil pro
    Inscrit en
    Août 2004
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 475
    Points : 402
    Points
    402
    Par défaut
    Ça me parait assez inquiétant que le réglage du navigateur puisse surpasser des instructions PHP ou des directives Apache... Cela signifie que n'importe qui aurait la possibilité de pourrir les contenus d'un site

    Je vais essayer pour en avoir le cœur net.

    Edit >

    Sabotage, joyeux 3.000ème anniversaire

    Règle n°1 du forum francophone : Parler le français...
    Pas de question technique par MP, le forum est fait pour çà, merci.

  17. #37
    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
    Cela signifie que n'importe qui aurait la possibilité de pourrir les contenus d'un site
    ce n'est pas specialement le probleme des accents.
    que j'ecrive un message avec un encodage inadéquat ou que j'ecrive "fjsklmdjfsljdflsj" le résultat est identique.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  18. #38
    Membre averti Avatar de Huntress
    Femme Profil pro
    Inscrit en
    Août 2004
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 475
    Points : 402
    Points
    402
    Par défaut
    Ça y est, j'ai fait mon test, voici les étapes par lesquelles je suis passée :

    1. Je ne précise rien, mon fichier est en ANSI, mais je n'envoie ni meta charset ni header charset, l'encodage du nav est en ISO-8859-1 : L'insertion en base est logique, j'ai des accents "normaux".

    2. Je passe mon navigateur en UTF-8 : L'insertion cette fois contient de l'UTF-8.

    3. Je rajoute cette ligne : header('Content-Type: text/html; charset=iso-8859-1'); en haut de mon fichier. Je refais une insertion et je retrouve bien mes accents "normaux".

    Règle n°1 du forum francophone : Parler le français...
    Pas de question technique par MP, le forum est fait pour çà, merci.

  19. #39
    Membre actif Avatar de elcoyotos
    Homme Profil pro
    Amateur passionné
    Inscrit en
    Octobre 2006
    Messages
    490
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Amateur passionné

    Informations forums :
    Inscription : Octobre 2006
    Messages : 490
    Points : 294
    Points
    294
    Par défaut
    Huntress, merci de te pencher sur mon problème
    Tu dis :
    Tu nous parles à un moment du fait que çà n'arrive jamais en local
    Sauf erreur de ma part, je n'ai jamais dit que cela n'arrivait jamais en local.
    J'ai dis que cela n'arrivait jamais de chez moi
    Je teste toujours sur le serveur de mon hébergeur et jamais en local

    J'ai croisé le cas recemment sur le forum egalement, tous les messages de l'utilisateur (forum, mp) avait des accents salopés.
    Sabotage, c'est ce que je fini par penser (qu'un utilisateur soit en utf8 dans son navigateur) car c'est le seul script (moteur de recherche) ou j'ai ce problème....

    quel utilisateur provoque ces problemes ?
    Ba je n'en sais rien, je n'enregistre que le mot clé tapé

    Du coup, j'ai testé aussi et effectivement, si, je mes mon navigateur en utf8, je retrouve les caractères cabalistiques.
    Ce qui est étonnant, c'est qu'une fois la page chargée, mon navigateur (FF) se remet tout seul en ISO 8859 1

    Bon, maintenant, je sais d'où cela provient. Quelle solution me conseillez vous (parce que j'ai beau mettre des "header('Content-Type: text/html; charset=iso-8859-1');" cela ne change rien).

    • Filtrer les caractères qu'on m'envoie ?
    • Filtrer les IP ?
    • Autre ?

    En tous cas, un grand merci à vous tous
    Écoute, sinon ta langue te perdra (proverbe Navajo)

  20. #40
    Membre actif Avatar de elcoyotos
    Homme Profil pro
    Amateur passionné
    Inscrit en
    Octobre 2006
    Messages
    490
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Amateur passionné

    Informations forums :
    Inscription : Octobre 2006
    Messages : 490
    Points : 294
    Points
    294
    Par défaut
    Bon,

    Alors pour l'instant, j'enregistre l'ip pour tracer un éventuel "fauteur de troubles"

    Message à sabotage :
    Dans un de des posts précédent du me dis que je ne devrai pas utiliser un mysql_affected_rows() avec un SELECT mais plutôt un mysql_num_rows()
    or j'ai fait l'essai et voilà ce que ça me dit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Warning:  mysql_num_rows(): supplied resource is not a valid MySQL result resource in ...
    Du coup j'utilise mysql_affected_rows() puisque ça ne renvoie pas d'erreur ....

    Désolé mais j'aime bien comprendre ....
    Écoute, sinon ta langue te perdra (proverbe Navajo)

Discussions similaires

  1. [PHP 5.3] caractère cabalistique dans bbd
    Par elcoyotos dans le forum Langage
    Réponses: 14
    Dernier message: 15/10/2013, 19h10
  2. problème insertion caractère spécial bdd
    Par cecile38 dans le forum Requêtes
    Réponses: 7
    Dernier message: 30/12/2010, 21h58
  3. Réponses: 1
    Dernier message: 10/02/2009, 14h32
  4. [MySQL] affichage caractère spéciaux bdd vers html
    Par strongwave dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 09/07/2008, 15h20
  5. insertion des caractères accentués bdd oracle
    Par osman.amine dans le forum SQL
    Réponses: 2
    Dernier message: 09/01/2008, 16h55

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