Page 1 sur 2

problème d'accent

Posté : 20 oct. 2012, 20:36
par romuald
Bonsoir tout le monde,
Je me trouve face à un gros souci php, quand je souhaite insérer dans ma base de donné un texte, tout les accents sont déformer, j'ai beau mettre en utf8 ou insérer dans le code
mysql_query("SET NAMES UTF8")
,
il envoie toujours avec des accents déformer, je vous montre mon script:
<?php
mysql_query("SET NAMES UTF8");

if (isset($_POST['go']) && $_POST['go']=='Poster la news') {
	
	$base = mysql_connect ('', '', '');
     mysql_select_db('', $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();

			
			header('Location:../projet.php');
			
			exit();
		}
	}
}
?>

       



<form action="insert_news.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 htmlentities(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 htmlentities(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 htmlentities(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;
?>
Merci de votre aide...

Re: problème d'accent

Posté : 20 oct. 2012, 23:00
par juliete
tu vois des caractère spéciaux en bdd ?
si oui, essaye d'en affiché le contenu dans un fichier encoder en utf8 pour voir !!!

Re: problème d'accent

Posté : 21 oct. 2012, 00:13
par romuald
voilà les résultat "Ã�©" pour é

Re: problème d'accent

Posté : 21 oct. 2012, 11:31
par xTG
Ta table est en quel encodage ?

Re: problème d'accent

Posté : 21 oct. 2012, 12:58
par romuald
utf8_generali

Re: problème d'accent

Posté : 21 oct. 2012, 15:47
par xTG
Et le fichier ?
Et le header() PHP ?
Et la balise meta HTML ?

Ouais cela en fait des choses à configurer. ^^

Re: problème d'accent

Posté : 21 oct. 2012, 20:46
par romuald
xD beaucoup, je n'avais pas essayer header() PHP,
résultat toujours pareille, ça me fais un peut chier de coincer sur un truc aussi débile...

Re: problème d'accent

Posté : 22 oct. 2012, 14:21
par juliete
essaye un truc:
ouvre ton fichier avec notpad++
dans le menu haut, clic sur encodage
puis clic sur encoder en utf-8 sans bom

en essaye de ré afficher les infos de la bdd avec ce fichier...

Re: problème d'accent

Posté : 22 oct. 2012, 14:33
par romuald
J'utilise dreamweaver cs5 et par défault bom n'es pas encocher

Re: problème d'accent

Posté : 22 oct. 2012, 18:21
par juliette
As tu fait le test ?

Re: problème d'accent

Posté : 22 oct. 2012, 20:56
par romuald
oui

Re: problème d'accent

Posté : 22 oct. 2012, 21:06
par juliette
hé alors ???

Re: problème d'accent

Posté : 22 oct. 2012, 21:42
par romuald
toujours pareillle, je reste dans le désespoir

Re: problème d'accent

Posté : 22 oct. 2012, 22:36
par juliette
peux tu afficher ton code complet stp ?
fait moi aussi voir ta bdd...

Re: problème d'accent

Posté : 23 oct. 2012, 07:50
par romuald
Le code est celui du haut
<?php
mysql_query("SET NAMES UTF8");

if (isset($_POST['go']) && $_POST['go']=='Poster la news') {
       
        $base = mysql_connect ('', '', '');
     mysql_select_db('', $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();

                       
                        header('Location:../projet.php');
                       
                        exit();
                }
        }
}
?>

       



<form action="insert_news.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 htmlentities(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 htmlentities(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 htmlentities(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;
?>

pour ma bdd
Structure de la table `news`
--

CREATE TABLE IF NOT EXISTS `news` (
  `id` int(1) NOT NULL auto_increment,
  `auteur` varchar(30) NOT NULL,
  `titre` text NOT NULL,
  `date` datetime NOT NULL default '0000-00-00 00:00:00',
  `texte_news` text NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;