Tu peux tester aussi:
mysql_query('SET NAMES utf8');
mysql_query('SET CHARACTER SET utf8');
<?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'] . ' ' . $result['titre'].' ' . $result['texte_news'].'<br />';
}
?>
</body>
</html>
<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"> $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'] . ' ' . $result['titre'].' ' . $result['texte_news'].'<br />';
}
?> dans ma page d'index car je sais déjà grâce à la bdd que ça va foirer.Par contre les accents marche toujours quand je modifie directement via ma bdd :/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 codedans ma page d'index car je sais déjà grâce à la bdd que ça va foirer.$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'] . ' ' . $result['titre'].' ' . $result['texte_news'].'<br />'; } ?>
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.
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.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...