[RESOLU] problème d'accent

Eléphant du PHP | 343 Messages

23 oct. 2012, 16:10

Il n'y a que moi que ça choque le mysql_query avant le connect et le select_db?
Tu peux tester aussi:
mysql_query('SET NAMES utf8');
mysql_query('SET CHARACTER SET utf8');
Développeur web

Mammouth du PHP | 790 Messages

23 oct. 2012, 16:13

ok, je regarde mais donne moi aussi le code qui affiche les infos de la bdd...
Les fautes de grammaire et d'orthographe contenu dans mes postes sont sous copyright, vous pouvez les utiliser pour un usage personnelle mais vous ne devrez en aucun cas les utiliser a des fins commercial sans une autorisation écrite de ma part.

Mammouth du PHP | 790 Messages

23 oct. 2012, 20:36

tiens, regarde la ça fonctionne:
<?php
if (isset($_POST['go']) && $_POST['go'] == 'Poster la news') {

    $base = mysql_connect('localhost', 'root', '');
    mysql_select_db('xxx', $base);

    if (!isset($_POST['auteur']) || !isset($_POST['titre']) || !isset($_POST['news'])) {
        $erreur = 'Les variables nécessaires au script ne sont pas définies.';
    } else {
        if (empty($_POST['auteur']) || empty($_POST['titre']) || empty($_POST['news'])) {
            $erreur = 'Au moins un des champs est vide.';
        } else {

            $sql = 'INSERT INTO news VALUES("0", "' . mysql_escape_string($_POST['auteur']) . '", "' . mysql_escape_string($_POST['titre']) . '", "' . date("Y-m-d H:i:s") . '", "' . mysql_escape_string($_POST['news']) . '")';


            mysql_query($sql) or die('Erreur SQL !' . $sql . '<br />' . mysql_error());

            mysql_close();

            var_dump($_POST);
        }
    }
}
?>

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>titre</title>
    </head>
    <body>
        <form action="index.php" method="post">
            <table height="241">
                <tr><td>
                        <span class="gras">Auteur :</span>
                    </td><td>
                        <input type="text" name="auteur" maxlength="30" size="50" value="<?php if (isset($_POST['auteur'])) echo trim($_POST['auteur']); ?>">
                    </td></tr><tr><td>
                        <span class="gras">Titre :</span>
                    </td><td>
                        <input type="text" name="titre" maxlength="50" size="50" value="<?php if (isset($_POST['titre'])) echo trim($_POST['titre']); ?>">
                    </td></tr><tr><td>
                        <span class="gras">News :</span>
                    </td><td>
                        <textarea name="news" cols="50" rows="10"><?php if (isset($_POST['news'])) echo trim($_POST['news']); ?></textarea>
                    </td></tr><tr><td><td align="right">
                        <input type="submit" name="go" value="Poster la news">
                    </td></tr></table>
        </form>

        <?php
        if (isset($erreur))
            echo '<br /><br />', $erreur;
        
        /**
         * test d'affichage pour voir les accents
         */
        $base = mysql_connect('localhost', 'root', '');
        mysql_select_db('xxx', $base);

        $sql = 'SELECT * FROM news';
        $query = mysql_query($sql) or die(mysql_error());
        while ($result = mysql_fetch_assoc($query)) {
            echo $result['auteur'] . '&nbsp;' . $result['titre'].'&nbsp;' . $result['texte_news'].'<br />';
        }
        ?>
    </body>
</html>

j'ai été obligé de supprimer les fonctions "htmlentities" des ces lignes <?php if (isset($_POST['news'])) echo htmlentities(trim($_POST['news'])); ?> dans le formulaire de contact si non ça ne marchait pas ???
Les fautes de grammaire et d'orthographe contenu dans mes postes sont sous copyright, vous pouvez les utiliser pour un usage personnelle mais vous ne devrez en aucun cas les utiliser a des fins commercial sans une autorisation écrite de ma part.

Mammouth du PHP | 790 Messages

23 oct. 2012, 20:47

au fait, la structure d'une table html est celle ci:
<table>
    <tbody>
        <tr>
            <td>...</td>
        </tr>   

ou
       <tr>
            <td>...</td>
            <td>...</td>
        </tr> 

mais pas de 
      <tr>
            <td>...</td>
            <tr></tr> que tu laisse vide
            <td>...</td>
       </tr>


    </tbody>
</table>
et aussi, ne donne pas de taille a ta table comme ça: <table height="241">
il vaut mieux lui donner une classe css comme ca: <table class="hauteur">
et dans ton css tu fait comme ça: .hauteur{width:241px;}
Les fautes de grammaire et d'orthographe contenu dans mes postes sont sous copyright, vous pouvez les utiliser pour un usage personnelle mais vous ne devrez en aucun cas les utiliser a des fins commercial sans une autorisation écrite de ma part.

Mammouth du PHP | 790 Messages

23 oct. 2012, 21:06

oubli ce que je t'ai dis pour les <tr>, c'est moi qui li a l'envers #-o
Les fautes de grammaire et d'orthographe contenu dans mes postes sont sous copyright, vous pouvez les utiliser pour un usage personnelle mais vous ne devrez en aucun cas les utiliser a des fins commercial sans une autorisation écrite de ma part.

Eléphanteau du PHP | 40 Messages

23 oct. 2012, 22:52

Merci je regarde ça et te tien au courant

Eléphanteau du PHP | 40 Messages

23 oct. 2012, 23:00

J'ai installer ton code, sur la page les accent ne pose aucun problème, par contre quand je regarde dans ma bdd, les accents fond place à "é",
je ne prend même pas la peine de mettre ce code
 $base = mysql_connect('localhost', 'root', '');
        mysql_select_db('xxx', $base);

        $sql = 'SELECT * FROM news';
        $query = mysql_query($sql) or die(mysql_error());
        while ($result = mysql_fetch_assoc($query)) {
            echo $result['auteur'] . '&nbsp;' . $result['titre'].'&nbsp;' . $result['texte_news'].'<br />';
        }
        ?>
dans ma page d'index car je sais déjà grâce à la bdd que ça va foirer.

Donc grâce à ton code, j'ai pus voir que le souci viens de la bdd qui reçois et renvois sans les accents et non pas le fichier php.
Par contre je ne vois absolument pas dous celà peut bien provenir car j'ai tout vérifier, ma table et bien en utf8_generali.

Eléphanteau du PHP | 40 Messages

23 oct. 2012, 23:02

merci sam mais j'avais tout essayer et dans n'importe quel position, rien ne marche .

Eléphanteau du PHP | 40 Messages

23 oct. 2012, 23:06

J'ai installer ton code, sur la page les accent ne pose aucun problème, par contre quand je regarde dans ma bdd, les accents fond place à "é",
je ne prend même pas la peine de mettre ce code
 $base = mysql_connect('localhost', 'root', '');
        mysql_select_db('xxx', $base);

        $sql = 'SELECT * FROM news';
        $query = mysql_query($sql) or die(mysql_error());
        while ($result = mysql_fetch_assoc($query)) {
            echo $result['auteur'] . '&nbsp;' . $result['titre'].'&nbsp;' . $result['texte_news'].'<br />';
        }
        ?>
dans ma page d'index car je sais déjà grâce à la bdd que ça va foirer.

Donc grâce à ton code, j'ai pus voir que le souci viens de la bdd qui reçois et renvois sans les accents et non pas le fichier php.
Par contre je ne vois absolument pas dous celà peut bien provenir car j'ai tout vérifier, ma table et bien en utf8_generali.
Par contre les accents marche toujours quand je modifie directement via ma bdd :/
et dernière chose que je viens de remarquer, ton code envoie deux fois le même texte dans ma bdd...

Mammouth du PHP | 790 Messages

23 oct. 2012, 23:08

si je te donne des codes et que tu ne teste pas, alors j'arrete la...
mais j'ajoute que tu peux mettre ton poste en résolue car c'est résolue...
Les fautes de grammaire et d'orthographe contenu dans mes postes sont sous copyright, vous pouvez les utiliser pour un usage personnelle mais vous ne devrez en aucun cas les utiliser a des fins commercial sans une autorisation écrite de ma part.

Romualdd
Invité n'ayant pas de compte PHPfrance

24 oct. 2012, 00:34

si je te donne des codes et que tu ne teste pas, alors j'arrete la...
mais j'ajoute que tu peux mettre ton poste en résolue car c'est résolue...
Lol ta pas du bien comprendre ma repOnse, j'ai tester ton code, mais il ne marche que si je l'utilise sur la même page modificationnews , mais quand je souhaite l'afficher dans la news, le résultat reste le même , ton code n'a rien changer au problème au contraire, quand je l'utilise il fait une copie supplémentaire dans ma bdd , désolée si je me fais mal comprendre.

Mammouth du PHP | 790 Messages

24 oct. 2012, 00:45

ok, alors tu as un autre soucis car chez moi les accents sont correct et il n'enregistre qu'un champ...
crée un nouveau fichier et teste mon code complet mais seul sans rien d'autre pour voir...
n'oubli pas de changer les infos de connexion !
Les fautes de grammaire et d'orthographe contenu dans mes postes sont sous copyright, vous pouvez les utiliser pour un usage personnelle mais vous ne devrez en aucun cas les utiliser a des fins commercial sans une autorisation écrite de ma part.

ViPHP
AB
ViPHP | 5818 Messages

24 oct. 2012, 05:20

As tu lu ce tuto. Si tu respecte toutes les étapes cela devrait être ok. Au passage je ne vois pas de header php dans ton code ?

Eléphanteau du PHP | 40 Messages

24 oct. 2012, 10:03

J'ai un peut honte là, un peut voir beaucoup xD xD xD xD, je viens de voir l'erreur de grand débutant, en faite, je n'avais pas fais attention, j'ai complétement oublier de mettre <html> au début, j'avais bien mis la fin </html> mais je ne l'avais pas ouvert, je suis désolée de vous avoir fais perdre votre temps sur une erreur qui n'aurais jamais du ce produire, on mettra ça sur la fatigue xD encore merci à tous et surtout à toi juliette ;) d'avoir pris le soin d'aller jusqu'à modifier le code php, désormais tout s'affiche normalement que ce soit avec mon code comme celui de juliette merci.