Je réalise un site et toutes mes pages sont encodées en UTF-8. J'utilise pour cela la balise meta:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

Tout le texte, qu'il soit directement issu de la page ou d'une base de donnée est correctement encodé. Par contre, quand il provient d'une fonction Javascript, l'encodage ne se fait pas bien.

Si quequ'un avait une solution, je lui serait extrèmement reconnaissant.

Merci d'avance
Epok
Bonjour,

premièrement, pourrais-tu préciser ce que tu entends par "provenant d'une fonction javascript" ?
S'agit-t-il d'une réponse AJAX, ou d'un texte manipulé avec javascript puis ré-inséré dans la page, ou autre ?

Deuxième point, l'encodage ne se fait pas bien... certes, mais quel est l'encodage utilisé ? S'agit-t-il d'iso-8859-1, d'UTF-16, ou autre ?



PS un exemple en ligne serait plus pratique pour poser un diagnostique Smiley murf .
Merci de ton aide. Voici ma fonction JS:

function feedModele(requete) {
var data = requete.responseText || 'rien reçu';
data = data.evalJSON();
	
if(data.erreur) {
	$('message').innerHTML = data.erreur;
} else {
var l = data.reponse.length;
		

for(var i=0; i<$('listeModele').length; i++) {
	$('listeModele').options[i] = null;
}
$('listeModele').options[0] = new Option('Sélectionner un modèle', '');
for (var i=0; i<l; i++) {
value = data.reponse[i].voiture.modele
$('listeModele').options[i+1] = new Option(value, data.reponse[i].voiture.type);
			
}
Form.enable('saisieAnnonces');
}
}

c'est au niveau de cette exécution:
$('listeModele').options[0] = new Option('Sélectionner un modèle', '');
que ca foire. Le é et le è de ce texte sont tronqué dans l'affichage de la liste. Par contre, les données issues de la base (via PHP) apparaissent correctement.

J'utilise l'encodage UTF-8 que je déclare par une balise méta.

A savoir également que pour l'instant le site est sur mon propre serveur. Je n'ai pas encore testé chez l'hebergeur.

D'avance merciEpok[/i][/i][/i]
Le javascript ne serait pas dans un fichier externe, lequel serait encodé en iso-8859-1 et non en utf-8, par hasard?

Une fois que tu as vérifié (et toujours dans l'hypothèse ou le js est dans un fichier externe) assures-toi également que l'encodage soit spécifié correctement:
<script type="text/javascript" [b]charset="UTF-8"[/b] src="truc.js"></script>




PS rien à voir avec ton problème, mais méfie toi lors du passage sur le serveur: la balise meta ne suffit pas toujours, entrée de la FAQ à ce propos.
Modifié par Necromantik (20 Oct 2007 - 21:04)
Merci c'etait bien ça, le fichier js etait un fichier externe et encodé en ANSI.
Je n'y aurais jamais pensé.

Un grand merci encore
Epok