Page 1 sur 1
Caractères accentués
Posté : 26 juin 2021, 17:04
par Herve_be
Bonjour,
J'écris sur une image en php mais les caractères accentués sont mal rendus.
Le script php est sauvé en UTF-8
Code : Tout sélectionner
header('Content-Type: text/html; charset=utf-8');
...
imagestring($Container, 5,x,y, $Txt, $rouge);
Par exemple $Txt = "Données périmées"
Résultat
A noter que les caractères sont mal rendus aussi avec Echo "Données périmées"
mais correctement avec "Données périmées"
par contre avec imagestring les é donnent aussi ĂŚ
Merci d'avance pour votre aide
Re: Caractères accentués
Posté : 26 juin 2021, 17:21
par or 1
il faut vérifier dans l'éditeur de texte utilisé que l'encodage du fichier php est bien en utf8.
Re: Caractères accentués
Posté : 26 juin 2021, 17:30
par Herve_be
Le script php est sauvé en UTF-8
Re: Caractères accentués
Posté : 26 juin 2021, 23:29
par @rthur
Tente un coup de utf8_decode() ou utf8_encode()
Re: Caractères accentués
Posté : 27 juin 2021, 09:20
par Herve_be
Bonjour,
Je ne comprends pas ce qui se passe.
Puisque mon script est sauvé en UTF-8, si je fais $Txt = "Données périmées", les caractères devraient se retrouvées en UTF-8 dans $Txt non ?
Re: Caractères accentués
Posté : 27 juin 2021, 12:51
par Herve_be
$Txt = utf8_decode("Données périmées ") => Données périmées
Mon script est donc bien en UTF-8 mais pourquoi dois-je les convertie en ISO-8859-1 puisque la 1ère ligne de ce script est
header('Content-Type: text/html; charset=utf-8');
Re: Caractères accentués
Posté : 27 juin 2021, 19:15
par Ryle
Salutations !
Le header de ton script n'a d'incidence que pour les informations que tu envois au navigateur, mais là ta chaine n'est pas transmise au navigateur, elle est utilisée pour générer une image
A priori imagestring() ne supporte pas l'utf8, mais tu dois pouvoir utiliser imagettftext() (qui supporte l'utf8 mais utilise une police TrueType) si tu as besoin de ce charset
Re: Caractères accentués
Posté : 27 juin 2021, 19:22
par Herve_be
Ben non justement !
Code : Tout sélectionner
$Txt=utf8_decode("Données périmées"));
imagestring($Container, 5, $MarginL,$MarginT, $Txt, $rouge);
echo "<br>".$Txt.date("Y/m/d H:i:s",$FileTime)." LogBooks/".$file;
dans les 2 cas c'est maintenant correct; avant sans utf8_decode j'avais des caractères bizarres dans les 2 cas.