Page 1 sur 1

Affichage caracteres spéciaux

Posté : 21 nov. 2005, 17:07
par gregk81
Bonjour,

J'ai un petit probleme qui m'a incité à m'inscrire sur votre forum ! J'espere que vous pourrez m'aider ! Alors voila, j'ai crée une petite console d'administration pour modifier les news de mon site sans passer à chaque fois depuis phpmyadmin. Seul probleme, les accents n'apparaissent pas correctement...

Alors voila les codes, vous me trouverez peut etre le pb !

Pour la page modif.html (la ou il y a le champ de texte à remplir pour changer les news) :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Document sans nom</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<form name="form1" method="post" action="modif.php">
<p>Texte des news à modifier</p>
<p>
<textarea name="champ1" cols="100" rows="10" id="champ1"></textarea>
</p>
<p> </p>
<p>
<="submit" name="Submit" value="Envoyer">
</p>
</form>
</body>
</html>

Et voila la page php qui traite les données :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?php

$champ1=$_POST['champ1'];
$db=mysql_connect('localhost','login','motdepasse') or die ("erre cnx");
mysql_select_db('xxx',$db) or die(mysql_error());
$sql = "Insert into news_fr(txt) Values ('$champ1')";
$rep=mysql_query($sql);
mysql_close($db);
?>
</body>
</html>

Est ce que quelqu'un peut m'aider ? Merci d'avance !

Posté : 21 nov. 2005, 17:12
par pitt
Il me semble que pour passer une textarea il vaut mieux utiliser la méthode get mais ca je n'en suis pas sur ensuite pour inserer tes champs tu peux utiliser
$champ1=$_GET['champ1'];
$news=addslashes($champ1);
//insertion
Cela ajoute des /devant les caracteres spéciaux puis pour l'affichage
//requete
$news=stripslashes($champ);

echo $news;

Posté : 21 nov. 2005, 17:42
par gregk81
J'ai modifié ma page qui envoi les données, ca donne maintenant :
<?php

$champ1=$_GET['champ1'];
$news=addslashes($champ1);
$db=mysql_connect('localhost','xxx','xxx') or die ("erre cnx");
mysql_select_db('xxx',$db) or die(mysql_error());
$sql = "Insert into news_fr(txt) Values ('$champ1')";
$rep=mysql_query($sql);
	mysql_close($db);
?>
Pour la page d'affichage je ne comprend pas...

J'ai :
<?php

$db=mysql_connect('localhost','xxx','xxx') or die ("erre cnx");
mysql_select_db('xxx',$db) or die(mysql_error());
$sql = "SELECT * FROM news_fr Order by num desc Limit 1";
$req=mysql_query($sql) or die(mysql_error());
if (mysql_num_rows($req) == 0) die ("table empty");

while ($ligne=mysql_fetch_array($req))
{
echo "{$ligne["txt"]}";
}

mysql_close($db);
?>
Comment mettre ce : //requete
$news=stripslashes($champ);

echo $news;

Merci !

Posté : 21 nov. 2005, 18:00
par pitt

<?php 

$db=mysql_connect('localhost','xxx','xxx') or die ("erre cnx"); 
mysql_select_db('xxx',$db) or die(mysql_error()); 
$sql = "SELECT * FROM news_fr Order by num desc Limit 1"; 
$req=mysql_query($sql) or die(mysql_error()); 
if (mysql_num_rows($req) == 0) die ("table empty"); 

while ($ligne=mysql_fetch_array($req)) 
{ 
$news=$ligne['txt'];
$champ=stripslashes($news);
echo $champ;
} 

mysql_close($db); 
?> 

Posté : 22 nov. 2005, 13:13
par Invité
Ca ne marche pas :(

Mais c'est bizarre, mes caracteres speciaux ressemblent à ca : é è ù Ã

Ca vous dis quelque chose ?

Posté : 22 nov. 2005, 13:16
par gregk81
oups j'ai oublié de me connecté.

Sinon j'ai un autre probleme dans le style sur un autre site. C'est dans une animation flash cette fois ou des chaines de caractères de 2 ou 3 lettres sont remplacées par des carrés (comme quand on ouvre une mauvaise application avec le bloc note). Vous avez deja vu ca aussi ? Merci !

Posté : 22 nov. 2005, 20:41
par Truc
caracteres speciaux
c'est quoi ces caractères spéciaux ?
regarde un peu le charset que tu as définis et si ces caractères y sont compris (google t'aidera dans les recherches :wink: )