Bonjour à toutes et à tous,
j'ai un soucis d'encodage de caractère qui survient et dont je n'arrive pas à me dépatouiller...
Voici le code en question :
Le 'ç' est remplacé par deux caractères '?' (sur fond de losange noir) et donc le 'n' n'est pas affiché...
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $texte = "Tronçon"; for($i = 0; $i < mb_strlen($texte,"utf-8"); $i++) echo "{$texte[$i]}<br />";
A noter que l'affichage direct de la variable ne pose pas de problème :Le texte est en brut dans le fichier, il ne provient pas d'une source de données externe.
Code php : Sélectionner tout - Visualiser dans une fenêtre à part echo $texte;
A noter aussi que le problème ne vient pas de mb_strlen() car le code suivant donne le même résultat :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $texte = "Tronçon"; for($i = 0; $i < 7; $i++) echo "{$texte[$i]}<br />";
Quelques informations sur mon environnement de travail :
- fichier enregistré en utf-8
- header HTML utf-8 :- header requête HTTP :
Code html : Sélectionner tout - Visualiser dans une fenêtre à part <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- charset serveur :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part header("Content-Type: text/html; charset=utf-8");
Code php : Sélectionner tout - Visualiser dans une fenêtre à part mb_internal_encoding("utf-8");
Quelqu'un aurait une idée ?
Partager