Page 1 sur 1
? à la place de tout mes accents
Posté : 26 janv. 2006, 18:33
par newbee
Re-bonjour,
Tout est dans le titre, mais quel est le probleme?
Je sais que ça vient de :
Code : Tout sélectionner
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
mais que mettre à la place?
Posté : 26 janv. 2006, 19:12
par Cyrano
essaye en remplaçant iso-8859-1 par utf-8
Posté : 26 janv. 2006, 21:57
par Hubert Roksor
En fait ce serait plutôt le contraire... tous les caractères UTF-8 sont légaux en ISO-8859-1, il verrait plutôt des "Ã" en plus que des "?". Le "?" est généralement le signe d'un caractère Unicode illégal ou défectueux... tu devrais poster l'adresse de ta page si elle est accessible de l'extérieur ou alors poste la partie du HTML incriminée.
Posté : 27 janv. 2006, 09:49
par newbee
Merci de vos réponses.
Je ne peux envoyer ni l'Url (Intranet), ni le code Html car toutes les données affichées avec les "?" sont extraites de champs à partir de ma Bdd.
Tous mes
é,
è,
à sont en
?.
Je les change en manuel dans ma Bdd et à chaque rappel il me les remets en
?...

Posté : 27 janv. 2006, 12:11
par jobherzt
le meilleur moyen de pas s'embeter avec les encodeage de caracteres, je pense que c'est de transformer tes caracteres accentues avec le code html corespondant é -> é etc... avec htmlentities.
Posté : 27 janv. 2006, 12:27
par newbee
oki merci.
Mais désolé, je porte bien mon pseudo (ch'suis vraiment un Newb en Php)...
Tu me donner plus d'info sur cette fonction, genre la p'tite ligne de code à inserer pour les convertir dans mes tables? (j'ai regardé dans les docs mais pas tout compris

)
Posté : 27 janv. 2006, 12:37
par charabia
Un tit exemple simple de l'utilsiation de htmlentities :
<?php
$str = 'Un \'apostrophe\' en <strong>gras</strong>';
// Affiche : Un 'apostrophe' en <strong>gras</strong>
echo htmlentities($str);
?>
Posté : 27 janv. 2006, 14:00
par newbee
Que dire à part que ça marche...
Merci à tous (et encore merci à Charabia; 2x en 2jours, cool

)
Posté : 27 janv. 2006, 15:47
par inuendo
En fait, cela dépend du choix de ton encodage mais si tu utilises l'utf-8 ou un autre charset, tu peux le définir lors de la requête pour éviter que MySQL renvoie les données en les encodant avec son système de base. Tu peux donc faire dans ta page qui appelle la connexion à la base :
<?php
$connection = mysql_connect( "localhost", "root", "" ) OR die( "impossible de se connecter.<br />\nErreur MySQL '" . mysql_error() . "'" );
mysql_select_db( "db", $connection ) OR die( "Impossible de sélectionner la base spécifiée.<br />\nErreur MySQL '" . mysql_error() . "'" );
mysql_query("SET NAMES 'utf8'"); //spécifie le charset de ton choix ici
?>
Ainsi cela évitera de devoir faire un htmlentities à chaque echo^^