[RESOLU] problème d'accent

Eléphanteau du PHP | 40 Messages

20 oct. 2012, 20:36

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...

juliete
Invité n'ayant pas de compte PHPfrance

20 oct. 2012, 23:00

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 !!!

Eléphanteau du PHP | 40 Messages

21 oct. 2012, 00:13

voilà les résultat "Ã�©" pour é

ViPHP
xTG
ViPHP | 7331 Messages

21 oct. 2012, 11:31

Ta table est en quel encodage ?

Eléphanteau du PHP | 40 Messages

21 oct. 2012, 12:58

utf8_generali

ViPHP
xTG
ViPHP | 7331 Messages

21 oct. 2012, 15:47

Et le fichier ?
Et le header() PHP ?
Et la balise meta HTML ?

Ouais cela en fait des choses à configurer. ^^

Eléphanteau du PHP | 40 Messages

21 oct. 2012, 20:46

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...

juliete
Invité n'ayant pas de compte PHPfrance

22 oct. 2012, 14:21

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...

Eléphanteau du PHP | 40 Messages

22 oct. 2012, 14:33

J'utilise dreamweaver cs5 et par défault bom n'es pas encocher

Mammouth du PHP | 790 Messages

22 oct. 2012, 18:21

As tu fait le test ?
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

22 oct. 2012, 20:56

oui

Mammouth du PHP | 790 Messages

22 oct. 2012, 21:06

hé alors ???
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

22 oct. 2012, 21:42

toujours pareillle, je reste dans le désespoir

Mammouth du PHP | 790 Messages

22 oct. 2012, 22:36

peux tu afficher ton code complet stp ?
fait moi aussi voir ta 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.

Eléphanteau du PHP | 40 Messages

23 oct. 2012, 07:50

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 ;