Décrivez ici votre problème ou ce que vous cherchez à faire.
Ecrire sur une image en php
Entourez votre code en utilisant "```" pour bien le mettre en forme. (ne copiez pas trop de code)
Le script php est sauvé en UTF-8
```imagestring($Container, 5,x,y, $Txt, $rouge);
**Ce que je veux**
$Txt = "Données périmées"
**Ce que j'obtiens**
j'obtiens "DonnĂŚes pĂŚrimĂŚes"
Tu est tout le temps en UTF8 ou c'est exceptionnel?
Si tu est tout le temps en UTF8 ton php est mal configuré, va dans php.ini et modifies cettes valeur:
default_charset = "utf-8";
Si c'est exceptionnel, tu peux faire un utf8_encode
puis utf8_decode
:p
$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');
Tu as plusieurs UFT8 (unicode, mb4, etc...)
Ensuite tu as reglé ton site pour un encodage UTF8 avec le header, pas ton PHP
Ensuite tu as autre chose, ton texte, c'est un texte en dur ou bien un texte récupéré sur une base MySQL? (le charset par défaut de MySQL c'est Latin, faut penser a créer la table en UTF8_unicode_ci)
utf8_decode sert à décoder un texte qui est lui même encodé en utf8, si uft8_decode ne fonctionne pas, ça veut dire que le texte de base n'est pas dans le bon utf8 (iso, unicode, mb4... Normalement sur Windows c'est ISO)
Il faut d'abord encoder le texte en utf8 configuré par ton PHP, et ENSUITE utiliser utf8_decode pour decoder le texte encodé
Ptet comme ça:
$txt = "Données périmées"
$txt = utf8_encode($txt)
$txt = utf8_decode($txt)
?
Bonjour,
Puisque mon script est enregistré en UTF-8 il n'est pas nécessaire de l'encoder, d'ailleurs ceci fonctionne très bien
$txt = "Données périmées"
$txt = utf8_decode($txt)
Par contre je ne comprends toujours pas pourquoi il faut décoder le texte puisque la première ligne demon script est
header('Content-Type: text/html; charset=utf-8');
le navigateur devrait donc afficher les données UTF-8 sans devoir les convertir en ISO-8859-1
pourquoi ce header n'est-il pa spris en compte ?
Sinon, si il y a de l'H.T.M.L, tu peux mettre dans le <head></head> une meta :
<meta charset="UTF-8">
Ca y est déjà
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>RVRT Activity</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
</head>
<body ...