Problème avec les caractères accentués
Résolu
srato
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
-
srato Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
srato Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Ma page est en utf-8 et ma table MySQL en latin1_swedish_ci car elle contient des noms de villes suédoises. Je voudrais écrire le texte de la DB sur ma page mais les caractères accentués suédois sont incorrects. Pourriez-vous m'aider SVP ? Voici mon script :
$select = $_POST['select'];
$select = mb_convert_encoding($select, "iso-8859-1", "utf-8");
$sql = "
SELECT * FROM $table_name
WHERE ville = \"$select\"
";
$result = @mysql_query($sql, $connection) or die("impossible");
if ($select) {
echo "<h3>Ville : ".mb_convert_encoding($select, "utf-8", "iso-8859-1")."</h3>";
}
while ($row = mysql_fetch_array($result)) {
$nom = $row['nom'];
$ville = $row['ville'];
$web1 = $row['web1'];
$web2 = $row['web2'];
$email = $row['email'];
$tel = $row['tel'];
$fax = $row['fax'];
// I convert back to utf_8
$nom = mb_convert_encoding($nom, "utf-8", "iso-8859-1");
$ville = mb_convert_encoding($ville, "utf-8", "iso-8859-1");
$web1 = mb_convert_encoding($web1, "utf-8", "iso-8859-1");
$web2 = mb_convert_encoding($web2, "utf-8", "iso-8859-1");
$email = mb_convert_encoding($email, "utf-8", "iso-8859-1");
$tel = mb_convert_encoding($tel, "utf-8", "iso-8859-1");
$fax = mb_convert_encoding($fax, "utf-8", "iso-8859-1");
echo "<div id=\"auberge\">Nom : <strong>".$nom."</strong><br>";
echo "Web : <a href=\"".$web1."\" target=\"_blank\">".$web1."</a><br>";
echo "Web 2 : <a href=\"".$web2."\" target=\"_blank\">".$web2."</a><br>";
echo "Email : <a href=\"mailto:".$email."\">".$email."</a><br>";
echo "Phone : ".$tel."<br>";
echo "Fax : ".$fax."<br>";
echo "</div>";
// end of while loop
}
// end of isset condition
}
?>
Ma page est en utf-8 et ma table MySQL en latin1_swedish_ci car elle contient des noms de villes suédoises. Je voudrais écrire le texte de la DB sur ma page mais les caractères accentués suédois sont incorrects. Pourriez-vous m'aider SVP ? Voici mon script :
$select = $_POST['select'];
$select = mb_convert_encoding($select, "iso-8859-1", "utf-8");
$sql = "
SELECT * FROM $table_name
WHERE ville = \"$select\"
";
$result = @mysql_query($sql, $connection) or die("impossible");
if ($select) {
echo "<h3>Ville : ".mb_convert_encoding($select, "utf-8", "iso-8859-1")."</h3>";
}
while ($row = mysql_fetch_array($result)) {
$nom = $row['nom'];
$ville = $row['ville'];
$web1 = $row['web1'];
$web2 = $row['web2'];
$email = $row['email'];
$tel = $row['tel'];
$fax = $row['fax'];
// I convert back to utf_8
$nom = mb_convert_encoding($nom, "utf-8", "iso-8859-1");
$ville = mb_convert_encoding($ville, "utf-8", "iso-8859-1");
$web1 = mb_convert_encoding($web1, "utf-8", "iso-8859-1");
$web2 = mb_convert_encoding($web2, "utf-8", "iso-8859-1");
$email = mb_convert_encoding($email, "utf-8", "iso-8859-1");
$tel = mb_convert_encoding($tel, "utf-8", "iso-8859-1");
$fax = mb_convert_encoding($fax, "utf-8", "iso-8859-1");
echo "<div id=\"auberge\">Nom : <strong>".$nom."</strong><br>";
echo "Web : <a href=\"".$web1."\" target=\"_blank\">".$web1."</a><br>";
echo "Web 2 : <a href=\"".$web2."\" target=\"_blank\">".$web2."</a><br>";
echo "Email : <a href=\"mailto:".$email."\">".$email."</a><br>";
echo "Phone : ".$tel."<br>";
echo "Fax : ".$fax."<br>";
echo "</div>";
// end of while loop
}
// end of isset condition
}
?>
A voir également:
- Problème avec les caractères accentués
- Caractères ascii - Guide
- Caractères spéciaux - Guide
- Caractères spéciaux mac - Guide
- Caracteres speciaux - Guide
- Un mot de passe avec 8 caractères exemple - Guide
2 réponses
Je viens de supprimer quelques lignes à mon script PHP et maintenant tout ce qui provient de la BD s'affiche correctement. Par contre, certaines parties du reste de ma page en français s'affiche avec de mauvais caractères à la place des caractères accentués. Voici mon script maintenant :
$select = $_POST['select'];
$select = mb_convert_encoding($select, "iso-8859-1", "utf-8");
$sql = "
SELECT * FROM $table_name
WHERE ville = \"$select\"
";
$result = @mysql_query($sql, $connection) or die("Requête impossible");
if ($select) {
echo "<h3>Voici ce que nous avons trouvé pour la ville de : ".$select."</h3>";
}
while ($row = mysql_fetch_array($result)) {
$nom = $row['nom'];
$ville = $row['ville'];
$web1 = $row['web1'];
$web2 = $row['web2'];
$email = $row['email'];
$tel = $row['tel'];
$fax = $row['fax'];
echo "<div id=\"auberge\">Nom de l'auberge : <strong>".$nom."</strong><br>";
echo "Site Web résumant les infos : <a href=\"".$web1."\" target=\"_blank\">".$web1."</a><br>";
echo "Site Web personnel de l'auberge : <a href=\"".$web2."\" target=\"_blank\">".$web2."</a><br>";
echo "Email : <a href=\"mailto:".$email."\">".$email."</a><br>";
echo "Téléphone : ".$tel."<br>";
echo "Fax : ".$fax."<br>";
echo "</div>";
// end of while loop
}
// end of isset condition
}
?>
$select = $_POST['select'];
$select = mb_convert_encoding($select, "iso-8859-1", "utf-8");
$sql = "
SELECT * FROM $table_name
WHERE ville = \"$select\"
";
$result = @mysql_query($sql, $connection) or die("Requête impossible");
if ($select) {
echo "<h3>Voici ce que nous avons trouvé pour la ville de : ".$select."</h3>";
}
while ($row = mysql_fetch_array($result)) {
$nom = $row['nom'];
$ville = $row['ville'];
$web1 = $row['web1'];
$web2 = $row['web2'];
$email = $row['email'];
$tel = $row['tel'];
$fax = $row['fax'];
echo "<div id=\"auberge\">Nom de l'auberge : <strong>".$nom."</strong><br>";
echo "Site Web résumant les infos : <a href=\"".$web1."\" target=\"_blank\">".$web1."</a><br>";
echo "Site Web personnel de l'auberge : <a href=\"".$web2."\" target=\"_blank\">".$web2."</a><br>";
echo "Email : <a href=\"mailto:".$email."\">".$email."</a><br>";
echo "Téléphone : ".$tel."<br>";
echo "Fax : ".$fax."<br>";
echo "</div>";
// end of while loop
}
// end of isset condition
}
?>