htmlentities et js

Invité
Invité n'ayant pas de compte PHPfrance

26 janv. 2007, 18:10

Bonjour à tous,
Quel est l'équivalent de htmlentities (php) en javascript?

ViPHP
ViPHP | 1961 Messages

26 janv. 2007, 18:13

Bonjour,

essaie escape()
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Invité
Invité n'ayant pas de compte PHPfrance

26 janv. 2007, 18:18

avec escape(), le navigateur me renvoie des caractères comme ceci :
%0A%0D%0A%3Cstyle%3E%0D%0Ap.t_fiche%20%

En fait j'utilise ajax pour appeler et afficher une page php. Dans cette page php, il y a des caractères spéciaux: ô, é, è...

Quelle fonction utiliser pour avoir un affichage normal? faut -il que je laisse les caractères comme ça ou faut il que je les transforme en &egrave, &eacute... ?

ViPHP
ViPHP | 1961 Messages

26 janv. 2007, 18:21

Re,

Ça c'est autre chose,

Tout dépends,
d'où viennent ces caractères??? une base, un fichier ...
Comment tu déclares ton encodage de la page par rapport à la source.
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Invité
Invité n'ayant pas de compte PHPfrance

26 janv. 2007, 18:30

j'ai essayé le header en utf8 et iso, ça ne change rien.
Par contre la page chargée par ajax est un fichier php contenant du html et du php, mais pas de déclaration d'entête.

ViPHP
ViPHP | 1961 Messages

26 janv. 2007, 18:46

Re,

Si tu n'écris pas directement avec JS, exp. alert('ton texte'), la meilleure solution c'est de transformer tes caractères accentués et autres entités HTML par leur représentation respective
à ===> à
é ===> é
.....
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Invité
Invité n'ayant pas de compte PHPfrance

26 janv. 2007, 19:07

c bien ça le pb. j'ai remplacé les caractères par leurs entités, et ajouté le fichier php à la page courante avec innerhtml mais ya toujours cet affichage anormal...

ViPHP
ViPHP | 1961 Messages

26 janv. 2007, 19:21

Montre-nous ça,
car c'est étrange.
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Invité
Invité n'ayant pas de compte PHPfrance

26 janv. 2007, 19:44

mon header
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
Mes 2 fonctions ajax (instanciation et appel)
<script type="text/javascript">

function getXhr(){
                                var xhr = null; 
				if(window.XMLHttpRequest) // Firefox et autres
				   xhr = new XMLHttpRequest(); 
				else if(window.ActiveXObject){ // Internet Explorer 
				   try {
			                xhr = new ActiveXObject("Msxml2.XMLHTTP");
			            } catch (e) {
			                xhr = new ActiveXObject("Microsoft.XMLHTTP");
			            }
				}
				else { // XMLHttpRequest non supporté par le navigateur 
				   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
				   xhr = false; 
				} 
                                return xhr
			}
			
			/**
			* Méthode qui sera appelée sur le click du bouton
			*/
			function go(country){
				var xhr = getXhr()
				// On défini ce qu'on va faire quand on aura la réponse
				xhr.onreadystatechange = function(){
					// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
					if(xhr.readyState == 4 && xhr.status == 200){
						document.getElementById('cartes').innerHTML = xhr.responseText;
					//alert(xhr.responseText);
					}
				}
				xhr.open("GET","../Afimmo/templates/afimmo/maps/" + country + ".php");
				xhr.send(null);
			}
</script>
Un boud du code de la page appelée
		<p class="sst_fiche">Croissance d&eacute;mographique</p> 
		<p class="itm_fiche">2,4% </p>
		
		<p class="sst_fiche">Densit&eacute; de la population</p>
		<p class="itm_fiche">10 habitants/km²</p> 
		
		<p class="sst_fiche">Population urbaine</p>
		<p class="itm_fiche">32,3% </p>
		 
		<p class="sst_fiche">Esp&eacute;rance de vie</p>
		<p class="itm_fiche">41ans </p>
		<p class="sst_fiche">Mortalit&eacute; infantile</p> 
		<p class="itm_fiche">12,2% </p>
		
		<p class="sst_fiche">Alphab&eacute;tisation</p>
		<p class="itm_fiche">19% </p>
Voili voilou

ViPHP
ViPHP | 1961 Messages

26 janv. 2007, 19:52

Re,

Ton fichier .php doit avoir un echo, print, printf, ...

comme ceci
echo '<p class="sst_fiche">Croissance d&eacute;mographique</p> 
        <p class="itm_fiche">2,4% </p>
        
        <p class="sst_fiche">Densit&eacute; de la population</p>
        <p class="itm_fiche">10 habitants/km²</p> 
        
        <p class="sst_fiche">Population urbaine</p>
        <p class="itm_fiche">32,3% </p>
         
        <p class="sst_fiche">Esp&eacute;rance de vie</p>
        <p class="itm_fiche">41ans </p>
        <p class="sst_fiche">Mortalit&eacute; infantile</p> 
        <p class="itm_fiche">12,2% </p>
        
        <p class="sst_fiche">Alphab&eacute;tisation</p>
        <p class="itm_fiche">19% </p>';
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein