{MySQL} Problème d'afichage des accents
Résolu/Fermé
A voir également:
- {MySQL} Problème d'afichage des accents
- Mysql download - Télécharger - Bases de données
- Les accents sont remplacés par des caractères ✓ - Forum Programmation
- Mysql gratuit ou payant - Forum MySQL
- Xampp mysql ne démarre pas ✓ - Forum MySQL
- Mysql error 1 ✓ - Forum Réseaux sociaux
2 réponses
Bonjour
As-tu bien mis, quuelque part entre <head> et </head>, une balise
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
?
As-tu bien mis, quuelque part entre <head> et </head>, une balise
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
?
oui elle est bien là.
en fait, au cours de mes recherches, j'ai compris que les données ont été enregistrées au format UTF-8, et le navigateur les envoie à la BDD en ISO. Comment puis-je résoudre cela?
voici le code de ma page.
<?php
// on teste si le formulaire a été validé
if (isset($_POST['go']) && $_POST['go']=='Poster le paragraphe') {
// on se connecte à notre base
$base = mysql_connect ('$adressebdd', '$loginbdd', '$mdpbdd');
mysql_select_db('b$dd', $base);
// on teste la déclaration de nos variables
if (!isset($_POST['id']) || !isset($_POST['titre']) || !isset($_POST['texte'])) {
$erreur = 'Les variables nécessaires au script ne sont pas définies.';
}
else {
if (empty($_POST['id']) || empty($_POST['titre']) || empty($_POST['texte'])) {
$erreur = 'Des champs sont vides.';
}
// si tout est bon, on peut commencer l'insertion dans la base
else {
// lancement de la requête d'insertion
$sql = 'INSERT INTO site_explications VALUES("'.mysql_escape_string($_POST['id']).'","'.mysql_escape_string($_POST['titre']).'", "'.mysql_escape_string($_POST['texte']).'")';
// on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
// on ferme la connexion à la base de données
mysql_close();
// on redirige vers la page d'accueil du site (attention, cette redirection ne fonctionne qui si vous avez placé cette page dans un répertoire à partir de la racine du site). Si ce n'est pas le cas, veuillez entrer ici le bon chemin d'accès afin de retomber sur la page d'accueil du site.
echo 'Le paragraphe a été enregistré. <br><a href="explications.php">Retour</a>';
// on termine le script courant
exit();
}
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Le site du Wùo Taï</title>
<LINK rel="stylesheet" type="text/css" media="screen" href="autre.css" />
</head>
<body>
<div id="global">
<div id="contenuglobal">
<div id="contenusite">
<form action="explications.php" method="post">
<table>
<tr>
<td>
<span>Numéro du paragraphe:</span>
</td>
<td>
<input type="text" name="id" maxlength="2" size="3" value="<?php if (isset($_POST['id'])) echo htmlentities(trim($_POST['id'])); ?>"><span style="color: red;"><b>*</b></span>
</td>
</tr>
<tr>
<td>
<span>Titre :</span>
</td>
<td>
<input type="text" name="titre" maxlength="50" size="50" value="<?php if (isset($_POST['titre'])) echo htmlentities(trim($_POST['titre'])); ?>"><span style="color: red;"><b>*</b></span>
</td>
</tr>
<tr>
<td>
<span>texte :</span>
</td>
<td>
<textarea name="texte" cols="50" rows="5"><?php if (isset($_POST['texte'])) echo htmlentities(trim($_POST['texte'])); ?></textarea><span style="color: red;"><b>*</b></span>
</td>
</tr>
<tr>
<td align="right">
<input type="submit" name="go" value="Poster le paragraphe">
</td>
</tr>
</table>
</form>
<?php
// on affiche les erreurs éventuelles
if (isset($erreur)) echo '<br /><br />',$erreur;
?>
</div>
</div>
</div>
</body>
</html>
voici le code de ma page.
<?php
// on teste si le formulaire a été validé
if (isset($_POST['go']) && $_POST['go']=='Poster le paragraphe') {
// on se connecte à notre base
$base = mysql_connect ('$adressebdd', '$loginbdd', '$mdpbdd');
mysql_select_db('b$dd', $base);
// on teste la déclaration de nos variables
if (!isset($_POST['id']) || !isset($_POST['titre']) || !isset($_POST['texte'])) {
$erreur = 'Les variables nécessaires au script ne sont pas définies.';
}
else {
if (empty($_POST['id']) || empty($_POST['titre']) || empty($_POST['texte'])) {
$erreur = 'Des champs sont vides.';
}
// si tout est bon, on peut commencer l'insertion dans la base
else {
// lancement de la requête d'insertion
$sql = 'INSERT INTO site_explications VALUES("'.mysql_escape_string($_POST['id']).'","'.mysql_escape_string($_POST['titre']).'", "'.mysql_escape_string($_POST['texte']).'")';
// on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
// on ferme la connexion à la base de données
mysql_close();
// on redirige vers la page d'accueil du site (attention, cette redirection ne fonctionne qui si vous avez placé cette page dans un répertoire à partir de la racine du site). Si ce n'est pas le cas, veuillez entrer ici le bon chemin d'accès afin de retomber sur la page d'accueil du site.
echo 'Le paragraphe a été enregistré. <br><a href="explications.php">Retour</a>';
// on termine le script courant
exit();
}
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Le site du Wùo Taï</title>
<LINK rel="stylesheet" type="text/css" media="screen" href="autre.css" />
</head>
<body>
<div id="global">
<div id="contenuglobal">
<div id="contenusite">
<form action="explications.php" method="post">
<table>
<tr>
<td>
<span>Numéro du paragraphe:</span>
</td>
<td>
<input type="text" name="id" maxlength="2" size="3" value="<?php if (isset($_POST['id'])) echo htmlentities(trim($_POST['id'])); ?>"><span style="color: red;"><b>*</b></span>
</td>
</tr>
<tr>
<td>
<span>Titre :</span>
</td>
<td>
<input type="text" name="titre" maxlength="50" size="50" value="<?php if (isset($_POST['titre'])) echo htmlentities(trim($_POST['titre'])); ?>"><span style="color: red;"><b>*</b></span>
</td>
</tr>
<tr>
<td>
<span>texte :</span>
</td>
<td>
<textarea name="texte" cols="50" rows="5"><?php if (isset($_POST['texte'])) echo htmlentities(trim($_POST['texte'])); ?></textarea><span style="color: red;"><b>*</b></span>
</td>
</tr>
<tr>
<td align="right">
<input type="submit" name="go" value="Poster le paragraphe">
</td>
</tr>
</table>
</form>
<?php
// on affiche les erreurs éventuelles
if (isset($erreur)) echo '<br /><br />',$erreur;
?>
</div>
</div>
</div>
</body>
</html>