? à la place de tout mes accents

Eléphant du PHP | 74 Messages

26 janv. 2006, 18:33

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?

Mammouth du PHP | 19672 Messages

26 janv. 2006, 19:12

essaye en remplaçant iso-8859-1 par utf-8
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Administrateur PHPfrance
Administrateur PHPfrance | 3088 Messages

26 janv. 2006, 21:57

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.

Eléphant du PHP | 74 Messages

27 janv. 2006, 09:49

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 ?... :(

Eléphant du PHP | 383 Messages

27 janv. 2006, 12:11

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 é -> &eacute; etc... avec htmlentities.

Eléphant du PHP | 74 Messages

27 janv. 2006, 12:27

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 :oops: )

Avatar du membre
ViPHP
ViPHP | 3008 Messages

27 janv. 2006, 12:37

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);
?>

Eléphant du PHP | 74 Messages

27 janv. 2006, 14:00

Que dire à part que ça marche...
Merci à tous (et encore merci à Charabia; 2x en 2jours, cool ;) )

Eléphanteau du PHP | 18 Messages

27 janv. 2006, 15:47

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&eacute;lectionner la base sp&eacute;cifi&eacute;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^^