le 27/11/2009 à 21:28
Problème d'accent
Bonsoir,
Je suis en train de restaurer un site plein de bugs et notamment l'interface de gestion du site, codée en php. Je connais bien le html, mais je ne connais du php que ce que j'ai appris à reconnaître/faire à force d'habitude ; ainsi je bloque parfois sur des questions qui peuvent paraître simples.
Je vous explique mon petit souci (en simplifiant):
- J'ai une page sur le site qui affiche des données de la base de données (un éditorial) ;
- J'ai une page dans le dossier admin qui permet d'envoyer ces données dans la base de données (contenu de l'édito, auteur, date, adresse mail). C'est une boîte texte. Je tape toujours mes textes en HTML (plus simple pour avoir la mise en page que je souhaite). Je tape donc mes accents en HTML (à par exemple). Je les enregistre, ils apparaissent très bien sur le site (exemple: à).
- Lorsque je reviens dans le dossier admin, dans la boîte texte, l'accent s'affiche tel que sur le site (à au lieu de à). Très ennuyeux puisque j'ai plusieurs dizaines de pages qui sont gérées avec le même système et que les pages sont longues et pleines d'accents: je dois tout remodifier à chaque fois (changer tous les accents).
Je vous mets la partie du code qui doit être concernée.
À noter, je ne sais pas si ça peut avoir une incidence, que dans la base de données, les champs qui correspondent au contenu sont en "latin1_swedish_ci" (colonne interclassement), ce qui me semble étrange.
Merci d'avance pour toute aide qui pourra m'être apporté.
++
Je suis en train de restaurer un site plein de bugs et notamment l'interface de gestion du site, codée en php. Je connais bien le html, mais je ne connais du php que ce que j'ai appris à reconnaître/faire à force d'habitude ; ainsi je bloque parfois sur des questions qui peuvent paraître simples.
Je vous explique mon petit souci (en simplifiant):
- J'ai une page sur le site qui affiche des données de la base de données (un éditorial) ;
- J'ai une page dans le dossier admin qui permet d'envoyer ces données dans la base de données (contenu de l'édito, auteur, date, adresse mail). C'est une boîte texte. Je tape toujours mes textes en HTML (plus simple pour avoir la mise en page que je souhaite). Je tape donc mes accents en HTML (à par exemple). Je les enregistre, ils apparaissent très bien sur le site (exemple: à).
- Lorsque je reviens dans le dossier admin, dans la boîte texte, l'accent s'affiche tel que sur le site (à au lieu de à). Très ennuyeux puisque j'ai plusieurs dizaines de pages qui sont gérées avec le même système et que les pages sont longues et pleines d'accents: je dois tout remodifier à chaque fois (changer tous les accents).
Je vous mets la partie du code qui doit être concernée.
À noter, je ne sais pas si ça peut avoir une incidence, que dans la base de données, les champs qui correspondent au contenu sont en "latin1_swedish_ci" (colonne interclassement), ce qui me semble étrange.
Merci d'avance pour toute aide qui pourra m'être apporté.
++
<?
session_start();
if(!session_is_registered("loggued"))
{
echo '<script language=javascript>location.href = "../index.php";</script>';
exit();
}
if(isset($_POST["goedito"]))
{
echo "Traitement en cours....";
require("../connectDB.php");
$text = addslashes($_POST["textedito"]);
$text = str_replace("./data/images","./Admin/data/images",$text);
$auteur = addslashes($_POST["auteur"]);
$email = addslashes($_POST["email"]);
$db = connectDB();
$query = "UPDATE `assas_edito` SET `value`='$text',`auteur`='$auteur',`email`='$email' WHERE `id`=0";
if(mysql_query($query, $db))
{
mysql_close($db);
echo '<script language=javascript>location.href = "../index.php?page=edito";</script>';
}
}
else
{
require("./connectDB.php");
}
?>
<h1>Éditorial</h1>
<form action="./content/edito.php" method="POST">
<textarea cols=100 rows=30 name="textedito">
<?
$db = connectDB();
$query = "SELECT `value`,`auteur`,`email` FROM `assas_edito` WHERE `id`=0";
$result=mysql_query($query, $db);
list($edito,$auteur,$email) = mysql_fetch_row($result);
mysql_close($db);
$edito = stripslashes($edito);
$edito =str_replace("./admin/data/images","./data/images",$edito);
echo $edito;
?>
</textarea>
<br />
<input type="submit" name="goedito" value="Enregistrer la page modifiée" style="float: right;" />
Auteur : <input type="text" name="auteur" value="<?=$_SESSION["login"]?>"/>
<!-- E-Mail : <input type="text" name="email" value="<?=$email?>"/> -->
<br />
</form>