11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

j'ai un problème de charset avec ui.tabs. il semble que ce plugin transforme tous les caractères des pages externes en UTF-8.

avez vous déjà rencontré celà ?

voici mon code
tabs.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
	   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">	
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>test tabs</title>
<script type="text/javascript" src="../jquery.js"></script>

<style type="text/css">@import url(ui.tabs.css);</style>
<script type="text/javascript" src="ui.tabs.js"></script>
<script type="text/javascript">
$(document).ready(function(){
	$('#TabsTri > ul').tabs();
});
</script>
</head>
<body>
<div id="TabsTri">
<ul>
<li><a href="#test"><span>test </span></a></li>
<li><a href="test.html"><span>page html externe</span></a></li>
</ul>
<div id="test">DIV test avec des caractères spéciaux</div>
</div>
</body>
</html>


test.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
	   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">	
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Page</title>
</head>
<body>
<div>
PAGE HTML<br />
essai avec des caractères spéciaux.
affaire à suivre...
</div>
</body>
</html>


nota : le texte affiché est correct dans la div, mais pas dans la page html "externe"...

http://docs.jquery.com/UI/Tabs
http://ui.jquery.com/download_builder/
Modifié par Coyote (01 Jul 2008 - 10:48)
Bonjour,

Peux-tu fournir un exemple en ligne ? Je ne me sens pas de tout mettre en place pour illustrer le problème. Smiley smile
J'ai trouvé une soluce en ajoutant ceci en haut de chaque fichier php appelé:
<?php header('Content-Type: text/html; charset=ISO-8859-1'); ?>


pas encore de soluce pour le html...
Coyote a écrit :
pas encore de soluce pour le html...

Ca sera sans doute dans les fichiers de configuration de ton serveur Web (comme .htaccess avec Apache).
une petite astuce : pour "sniffer" ce que met ton serveur dans tes en-tête http, utilise http://web-sniffer.net/

Comme le dit julien, ton serveur doit être mal configuré (par rapport à l'encodage que tu utilises) et ne pas envoyer le bon content-type pour tes fichiers .php et .html. Vérifie ça en contrôlant ton Content-Type dans le HTTP Response Header via web-sniffer...

Si tu veux que l'encodage mis dans les <meta> soit pris en compte plutôt que celui du http header, tu dois pouvoir configurer ton serveur web pour qu'il ne précise pas l'encodage. Il envoie alors
Content-Type: text/html
et non
Content-Type: text/html; charset=UTF-8