Php : problème pour convertir les accents.
JessayeDeTrouver
Messages postés
300
Statut
Membre
-
maka54 Messages postés 721 Statut Membre -
maka54 Messages postés 721 Statut Membre -
Bonjour,
mes caractères sont en utf-8, et ne proviennent pas de base de données , par exemple :
Donc méme avec htmlentities, mes caractères ne sont pas convertis (meme quand je regarde le code source du résultat).
Une idée ?
Merci d'avance, cordialement.
mes caractères sont en utf-8, et ne proviennent pas de base de données , par exemple :
<?php $string = "éàù"; /*On détecte l'encodage :*/ echo mb_detect_encoding($riri); //Affiche UTF-8. /*On convertit les accents :*/ echo htmlentities($string,EN_QUOTES,"UTF-8",true); /*Affiche éàù au lieu de éàù*/ ?>
Donc méme avec htmlentities, mes caractères ne sont pas convertis (meme quand je regarde le code source du résultat).
Une idée ?
Merci d'avance, cordialement.
A voir également:
- Php : problème pour convertir les accents.
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php - Forum Webmastering
- Alert php - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
2 réponses
un exemple de solution:
$tabl_conv = array("à"=>"& agrave;","â"=>"& acirc;","é"=>"& eacute;","è"=>"& egrave;","ê"=>"& ecirc;","î"=>"& icirc;","ï"=>"& iuml;","ö"=>"& ouml;","ô"=>"& ocirc;","ù"=>"& ugrave;"); ////ATTENTION suprime l'espace entre & et la suite du codage html du caractère accentué //j'ai été obligé de le mettre sinon on ne voyait rien du codage html if($_POST[temp1] == "Poste"){ $saisie=$_POST[nom]; foreach($tabl_conv as $cle=>$value){ $saisie=ereg_replace($cle,$value,$saisie);// ok fonctionne on voit les caract codés en html dans la boite d'alert JS }
Bonjour,
Tu n'as pas à convertir les accents.
ton fichier (html ou php) doit etre encodé en utf8
dans ton header, ton charset doit être en utf8 :
si tu as des doutes sur le charset du serveur, tu peux créer un fichier .htaccess où tu ajoutes cette ligne :
si tu as une base de données, mettre toute ta base en interclassement
et après la connexion à ta connexion mysql, tu ajoutes
Tu n'as pas à convertir les accents.
ton fichier (html ou php) doit etre encodé en utf8
dans ton header, ton charset doit être en utf8 :
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >
si tu as des doutes sur le charset du serveur, tu peux créer un fichier .htaccess où tu ajoutes cette ligne :
AddDefaultCharset UTF-8
si tu as une base de données, mettre toute ta base en interclassement
utf8_unicode_ci
et après la connexion à ta connexion mysql, tu ajoutes
mysql_query('SET NAMES utf8');