Bonjour,
Je suis entrain de refaire mon site en html5 (enfin je crois que c'est du 5) et tous mes accents dans ma page PHP qui proviennent de ma base de données sortent comme cela �;
Je sais que la question a été abordée x fois mais je ne capte jamais rien dans les réponses. Je suis novice en la matière et j'apprends tout sur le tas, alors svp soyez indulgent avec mon misérable niveau.
Page : [http://www.votre-faire-part.com/test/resultat.php?id=695]
Sur mon acien site ca marchait nickel mais pas le même langage (je suppose)
<?php
session_start();
if(!empty($_GET['id']))
{
$connect = mysql_connect("http://xxxxx.com","xxxxx","xxxxx");
$select = mysql_select_db("xxxxx");
$idn = intval($_GET['id']);
$query = 'SELECT evenement,collection2 FROM xxxxx
WHERE id = ' . $idn;
$result = mysql_query($query);
$row = mysql_fetch_row($result);
$evenement = $row[0];
$collection2 = $row[1];
}
?>
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8" />
<title>Faire part photo de <? echo $evenement; ?> <? echo $collection2; ?>. Faire part de luxe pas cher.</title>
<meta name="description" content="Découvrez une collection de faire part photo de <? echo $evenement; ?> , création <? echo $collection2; ?>. Des faire part de haute qualité pas cher. Maquette sous 24H." />
<meta content="Faire part photo <? echo $evenement; ?>, faire part <? echo $collection2; ?>, faire part pas cher, faire part montage photo, faire part original, faire part <? echo $evenement; ?> <? echo $collection2; ?>" name="keywords" />
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link rel=stylesheet href="css/style.css" />
<link rel=stylesheet href="css/page.css" />
<link rel=stylesheet href="css/resultat.css" />
</head>
<body>
<?
$connect = mysql_connect("http://xxxxx","xxxxx","xxxxx");
$select = mysql_select_db("xxxxx");
$query = "SELECT evenement, xxxxx WHERE id = $idn";
$result = mysql_query($query);
while($row = mysql_fetch_row($result)){
$evenement = $row[0];
$recto = $row[2];
$verso = $row[3];
$image3 = $row[4];

etc

}
?>

19 réponses


Bonjour,

Merci d'utiliser la balise < /> dans l'éditeur markdown pour afficher correctement votre code.
Elles sont les balises à l'intérieur de < head> et < /head> qui définnise le charset, le titre, le css .... ?

Je crois qu'il en manque une partie, non ?

Faire part photo de <? echo $evenement; ?> <? echo $collection2; ?>. Faire part de luxe pas cher.
, faire part <? echo $collection2; ?>, faire part pas cher, faire part montage photo, faire part original, faire part <? echo $evenement; ?> <? echo $collection2; ?>" name="keywords" />

Pour afficher juste la valeur de $evenement il vous faut soit faire:

<?php echo $evenement; ?> ou <?= $evenement; ?>

On va s'arrêter là pour le moment car sinon, ça ligne est presque fausse.

Merci pour ta réponse je te transmets mon code

<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8" />
<title>Faire part photo de <? echo $evenement; ?> <? echo $collection2; ?>. Faire part de luxe pas cher.</title>
<meta name="description" content="Découvrez une collection de faire part photo de <? echo $evenement; ?> , création <? echo $collection2; ?>. Des faire part de haute qualité pas cher. Maquette sous 24H." />
<meta content="Faire part photo <? echo $evenement; ?>, faire part <? echo $collection2; ?>, faire part pas cher, faire part montage photo, faire part original, faire part <? echo $evenement; ?> <? echo $collection2; ?>" name="keywords" />
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link rel=stylesheet href="css/style.css" />
<link rel=stylesheet href="css/page.css" />
<link rel=stylesheet href="css/resultat.css" />
</head>

Comme dit juste avant pour les <? echo:

<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>Faire part photo de <?php echo $evenement; ?> <?php echo $collection2; ?>. Faire part de luxe pas cher.</title>
<meta name="description" content="Découvrez une collection de faire part photo de <?php echo $evenement; ?> , création <?php echo $collection2; ?>. Des faire part de haute qualité pas cher. Maquette sous 24H." />
<meta content="Faire part photo <?php echo $evenement; ?>, faire part <?php echo $collection2; ?>, faire part pas cher, faire part montage photo, faire part original, faire part <?php echo $evenement; ?> <?php echo $collection2; ?>" name="keywords" >
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type='text/css' media='screen' rel=stylesheet href="css/style.css" />
<link type='text/css' media='screen' rel=stylesheet href="css/page.css" />
<link type='text/css' media='screen' rel=stylesheet href="css/resultat.css" />
</head>

Quel est l'encodage de votre BDD ?

Je pense que mon problème est que je sois en ISO et que je demande du UTF
Quand je mets <meta charset="iso-8859-15" />
Ca s'inverse. C'est à dire que les éléments de ma BDD sont corrigés mais mon contenu, menu etc ... eux maintenant foirent.
Les codes que tu m'as donnée ne conviennent pas. Page blanche.
Je tiens vraiment à te remercier de ce que tu fais pour moi

il me prend pas mon petit bout de code donc je te le remets en entier.
Avec ce UTF ca s'inverse. C'est à dire que les éléments de ma BDD sont corrigés mais mon contenu, menu etc ... eux maintenant foirent.
Les codes que tu m'as donnée ne conviennent pas. Page blanche.
Je tiens vraiment à te remercier de ce que tu fais pour moi.
Je reviens vers toi demain car je suis malade et c'est l'agonie du corps et de l'esprit
MERCI MERCI

<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="iso-8859-15" />
<title>Faire part photo de <?= $evenement; ?> <? echo $collection2; ?>. Faire part de luxe pas cher.</title>
<meta name="description" content="Découvrez une collection de faire part photo de <? echo $evenement; ?> , création <? echo $collection2; ?>. Des faire part de haute qualité pas cher. Maquette sous 24H." />
<meta content="Faire part photo <? echo $evenement; ?>, faire part <? echo $collection2; ?>, faire part pas cher, faire part montage photo, faire part original, faire part <? echo $evenement; ?> <? echo $collection2; ?>" name="keywords" />
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link rel=stylesheet href="css/style.css" />
<link rel=stylesheet href="css/page.css" />
<link rel=stylesheet href="css/resultat.css" />
</head>
<body>

Il faut que votre BDD soit en "utf8_general_ci" et votre page soit en "utf-8".
Une fois ceci-fait faite un nouvelle enregistrement dans la base avec des accents et voyer comme cet enregistrement s'affiche.

Hello,

Après ta connexion à la base de données, force l'encodage de tes données via "SET NAMES utf8".

Bonjour,
Vous me faites trop paniquer, Je ne comprends pas un mot de ce que vous me dites.
SVP, pouvez-vous être plus précis ?
Comment vais -je faire ?
Je ne vois pas d'issue,

OH MY GOD
J'y suis arrivée
C'était en ISO
Comment je peux savoir pour mes autres si elles sont en ISO ou UFT-8 ?
C'est très important et je ne sais pas comment détecter ce genre d'infos !

<!DOCTYPE html>
<html lang="fr">
<head>
<meta content="text/html; charset="ISO-8859-1" http-equiv="Content-Type" />

Ou sinon tu peux faire:

      <?php echo utf8_encode($tavariable); ?>

:)

Bon ca ne marche pas sur toutes les feuilles et parfois ca m'enlève des fonctions CSS
Comment puis-je faire svp ?

Lorsque tu affiche une variable dans le HTML dans ton cas c'est:

    <title>Produits assortis &agrave; votre faire part de <? echo utf8_encode($evenement); ?> th&egrave;me <? echo utf8_encode($collection2); ?></title>
    <meta name="description" content="Commandez dès aujourd'hui votre panoplie : marque-place, étiquette autocollante, calendrier, set de table, poster assorti à vos faire part de <? echo utf8_encode($evenement); ?> thème <? echo utf8_encode($collection2); ?>" />
    <meta name="keywords" content="marque-place original, étiquette autocollante originale, calendrier original, set de table original, poster" />

Ce n'est pas très propse de le répéter à chaque fois, crée une function qui va SET tes variables et qui va insérer le utf8_encode directement. :)

MehdiWEB j'avais pas vu ta réponse.
Ca m'a corrigné plein de trucs. Il reste encore des fautes mais ca passe hihihihihihihihi
Merciiiiii Mehdiiiiiiiii.
Dis je l'ai mis dans cette balise,c'est juste ?

<meta http-equiv="Content-Type" content="text/html" <?php echo utf8_encode($tavariable); ?> />

De plus pour mes pages html quel encodage me conseilles-tu ?

Ah non c'est pas juste. Pas vraiment non !!
Je n'avais encore pas vu ta réponse. Si j'uitlise ce que tu me dis en haut qu'est que je mets dans mon header ?

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
OU
<meta content="text/html; charset="ISO-8859-1" http-equiv="Content-Type" />

Je te conseille le UTF-8, je m'y connais pas trop en "meta", celle que j'utilise c'est UTF8, bonne chance.

Mehdi ne part pas, encore une question pour cette balise là je mets quoi pour la corriger car ce que tu m'as dit avant ca marche avec un UTF8

<?=$row['collection2'];?>

Mehdi c'est juste ça ?

<?=utf8_encode($row['collection2']);?>

Oui c'est bien ça.

MERCIIIII MEHDIIIIIII