8791 sujets

Développement web côté serveur, CMS

Bonjour,

Petit souci avec un encodage: j'ai pour mon site un fichier de traduction qui contient des variables avec du texte. Par exemple:
$agenEnteteEvent = 'Événement';

Et sur la page où je veux l'afficher, je fais simplement un:
echo $agenEnteteEvent;

Et le problème c'est qu'il m'affiche: Événement

Pour info, voici les premières lignes de code de ma page d'affichage:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
	<meta http-equiv="Content-Language" content="fr" />


Merci d'avance.
Modifié par <nicolas> (29 Sep 2007 - 12:31)
Bonjour,


Apparement ton fichier de traduction est encodé en UTF8 alors que la page est afichée en ISO.
Forcément ça ne joue pas il faut que les 2 soient dans le même encodage. De ce constat on a 2 solutions: tout passer en ISO ou tout passer en UTF8.

Pour tout passer en ISO:
Soit ouvrir le fichier de traduction en mode UTF8 puis l'enregistrer en encodage iso.
Soit ajouter un utf8_decode() sur la chaine avant d'utiliser echo:
echo utf8_decode($agenEnteteEvent);


Pour tout passer en UTF8:
Il faut changer la déclaration d'encodage, dans la page:
<meta http-equiv="Content-Type" content="text/html; charset=[b]utf-8[/b]" />

Et dans les headers (à ajouter dans ton code php avant toute sortie):
header('Content-Type: text/html; charset=utf-8');



Pour ma part si ta page ne comporte pas d'autre morceaux encodés en ISO je te conseil de tout passer en UTF8 vu que l'encodage est beaucoup plus polyvalent.
Modifié par Necromantik (29 Sep 2007 - 15:05)
Necromantik a écrit :

Soit ouvrir le fichier de traduction en mode UTF8 puis l'enregistrer en encodage iso.


Salut.

Comment je fais pour l'enregistrer en iso? Dreamweaver ne me propose pas d'options et le Notepad ne propose que ANSI, Unicode, Unicode Big Endian et UTF-8.
<nicolas> a écrit :


Salut.

Comment je fais pour l'enregistrer en iso? Dreamweaver ne me propose pas d'options et le Notepad ne propose que ANSI, Unicode, Unicode Big Endian et UTF-8.

L'ISO-8859-1 est parfois repéré sous la dénomination latin1, voire même Europe occidentale