begin process at 2012 05 29 14:35:04
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

Framework

 > 

Autre Framework

 > 

jQuery : problème d'affichage/encodage HTML


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

jQuery : problème d'affichage/encodage HTML

jeudi 15 octobre 2009 à 11:07:40 | jQuery : problème d'affichage/encodage HTML

Mr Z

Bonjour,
j'ai un soucis d'affichage/encodage d'une chaîne en HTML.
Sur ma base MySql est enregistré une chaîne encodée utf8_general_ci.

Je récupère cette chaîne via PHP, dans une boucle while, et l'insère dans un tableau Javascript :
<script language="javascript" type="text/javascript">
var commentTabJS = new Array();
<?php //la fonction/requête de récupération
$contenu = aLaUne();
//la boucle
while (list($id, $donnees) = each($contenu)){
//données brut (ex:r&eacute;alis&eacute; par machin.<br />Carte...)
$str = $donnees['commentaires'];
//je décode les &eacute;, etc.
$str = html_entity_decode($str, ENT_QUOTES, 'UTF-8');
//je vire les retours chariot
$str = str_replace(CHR(13).CHR(10),"",$str);
//j'encode ma chaîne "cleanée" pour l'insérer dans un tableau Javascript
$str = htmlentities($str, ENT_QUOTES, 'UTF-8');
echo 'commentTabJS.push("'.$str.'");';
} ?>
</script>

Ensuite, j'utilise jQuery pour afficher cette chaîne dans une DIV (class="informations") :
<script language="javascript" type="text/javascript">
function loadContenu(i){
var iOK = i.substr(4);
//je récupère le bon texte en fonction de l'ID du bouton sélectionné
var texte = commentTabJS[iOK];

//Et là c'est la m... la chaîne est bien en HTML mais s'affiche tel quel...
//Les balises s'affichent comme du texte...
//J'ai fait un essai avec une fonction trouvée ici : http://phpjs.org/functions/html_entity_decode:424
//mais ne fonctionne pas...
//texteOK = html_entity_decode(texte, ENT_QUOTES, 'UTF-8');
$(".informations").html('<p>'+texte+'</p>');
}
</script>

Voilà, je suis bien bloqué.
Je suis pas très à l'aise avec jQuery. J'ai de bonnes bases en Javascript, mais bon.

Merci de l'aide :)
++

Z
jeudi 15 octobre 2009 à 11:14:46 | Re : jQuery : problème d'affichage/encodage HTML

Bul3

Membre Club
Réponse acceptée !



Bonjour,
>>Je suis pas très à l'aise avec jQuery.
oulah... moi non plus

pour le reste faut être "cohérent" partout,
_ sauver ses sources en utf-8 ( sans bom )
_ mettre la balise <meta http-equiv="content-type"
content="text/html; charset=UTF-8" /> en html
_ mettre header('Content-Type: text/html; charset=utf-8');
coté php
_ il faut aussi vérifier si le utf8_general_ci
de la base c'est la même chose que "utf-8"

et les decode doivent être inutiles

Cordialement [mon Site] [M'écrire] Bul
jeudi 15 octobre 2009 à 11:28:52 | Re : jQuery : problème d'affichage/encodage HTML

Mr Z

Réponse acceptée !
Bonjour Bul3,

>> sauver ses sources en utf-8 ( sans bom )
le fichier est bien en utf-8. Qu'est ce que tu entend par "bom" ?

>> mettre la balise <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> en html
bien présente.

>> mettre header('Content-Type: text/html; charset=utf-8');
bien là aussi.

>> il faut aussi vérifier si le utf8_general_ci de la base c'est la même chose que "utf-8"
C'est plus flou. Mais je préfère partir des données brutes que je récupère.
Si je vais dans phpMyAdmin, le champ "commentaires" affiche : (...)r&eacute;alis&eacute; par machin.<br />Carte(...)

>> et les decode doivent être inutiles
Les encode/decode sont là pour que je puisse insérer ma chaîne dans le tableau Javascript,
car sinon les caractères et autres retours chariot font plantés l'insertion...

Z
jeudi 15 octobre 2009 à 11:42:23 | Re : jQuery : problème d'affichage/encodage HTML

Bul3

Membre Club
Réponse acceptée !
>>Qu'est ce que tu entend par "bom" ?
oh, par là j'entends pas grand chose
c'est un codage un peu particulier de utf-8
qui ne convient pas pour ici
>>utf8_general_ci de la base
il y a plusieurs choix au niveau utf8 dans une base
"utf8_general_ci" correspond-il à l' "utf_8 php et html" ?
>>encode/decode
pas regardé de près, mais comme j'ai vu
des 'utf8' : html_entity_decode($str, ENT_QUOTES, 'UTF-8');
à ce que vous nous dites, tout semble ok, sauf donc
à vérifier utf8_general_ci, les html_entity_decode...
pas de raisons que ça ne fonctionne pas,
et jquery n'a probablement rien à y voir (quoique ?).
jeudi 15 octobre 2009 à 11:59:32 | Re : jQuery : problème d'affichage/encodage HTML

Mr Z

Réponse acceptée !

J'ai fait des tests avec d'autre encodage sur le champ et cela produit les même résultats.

Ce que je me dis c'est que, comme la chaîne s'affichant dans ma DIV est :
Anagramme r&eacute;alis&eacute; par Jean-Claude Mattrat.&lt;br /&gt;Carte de correspondance de JBA.&lt;br /&gt;Voir aussi &Eacute;dition JBA.

Je me dis qu'une simple fonction html_entity_decode pourrait m'aider.
C'est pour cela que j'ai cherché un équivalent Javascript de la fonction php.
Or la fonction que j'ai trouvé semble générer une erreur...
La fonction en question :
function html_entity_decode(string, quote_style) {

var hash_map = {}, symbol = '', tmp_str = '', entity = '';
tmp_str = string.toString();

if (false === (hash_map = this.get_html_translation_table('HTML_ENTITIES', quote_style))) {
return false;
}

for (symbol in hash_map) {
entity = hash_map[symbol];
tmp_str = tmp_str.split(entity).join(symbol);
}
tmp_str = tmp_str.split('&#039;').join("'");

return tmp_str;
}

Elle ne semble pas avoir d'erreur ? non ?

Z
jeudi 15 octobre 2009 à 12:12:17 | Re : jQuery : problème d'affichage/encodage HTML

Mr Z

Réponse acceptée !
Constatation :
//récupération du texte depuis le tableau
var texte = commentTabJS[iOK];

//affichage via jQuery
//V1
$(".informations").html('<p>'+texte+'</p>');
affiche :
Anagramme réalisé par Jean-Claude Mattrat. <br />Carte de correspondance de JBA. <br />Voir aussi Édition JBA.

//V2
$(".informations").get(0).firstChild.nodeValue = '<p>'+texte+'</p>';
affiche :
<p>Anagramme r&eacute;alis&eacute; par Jean-Claude Mattrat.&lt;br /&gt;Carte de correspondance de JBA.&lt;br /&gt;Voir aussi &Eacute;dition JBA.</p>

Notez que la balise <p> est correctement interprétée dans la version 1.
...je crois que je vais aller prendre l'air...

Z
vendredi 16 octobre 2009 à 13:14:30 | Re : jQuery : problème d'affichage/encodage HTML

Bul3

Membre Club
Réponse acceptée !
ah.. j'ai raté les messages ?
au fond, ça n'a plus aucun rapport
avec l'utf-8.. si j'ai suivi (?)
un souci d'interprétation des balises ?
comme c'est avec jquery :


Cette discussion est classée dans : texte, html, str, chaîne, jquery


Répondre à ce message

Sujets en rapport avec ce message

Insertion de texte d'un txt dans du HTML par Javascript [ par mastere30 ] Hello tlm,je suis débutant de chez débutant. J'aimerais savoir comment insérer du texte d'un fichier blabla.txt à ma page index.html, ca doit bien êtr Comment insérer un fichier texte pur dans une page html statique et pouvoir pourtant le formater (couleurs, taille, ...)? [ par Melou__ ] Bonjour,Je cherche à intégrer dans une page html le contenu d'un fichier texte pur. Il existe la balise IFRAME ou la balise OBJECT mais elles ne perme Transformer un texte de formulaire en code HTML [ par rshark ] bonjour .. comment on peut faire pour que quand on écrit un texte dans une zone formulaire comme pour poster un article ici .. le texte soit vérifié p afficher de l'HTML [ par antoineg2 ] Bonjour,Je voudrais faire un script bien précis mais mes connaissances sont pas assez grandes que pour y arriver totalement.En fait je voudrais faire Problème d'affichage en HTML [ par mouniersophie ] Bonjour a tous,je débute dans cette programmation et j'essaye d'afficher un texte suivie d'une image à un certain endroit de ma page comme suit :CP</D Recherche d'un code html d'éffet splandide d'un texte [ par abdfire ] Bonjour , je suis à la recherche d'un exemple pratique du langage  html des effets sur un texte , je voudrais que quelqu'un m'aide en me donant une co Mini Editeur Html [ par zemele ] Bonjour, Cela fait un bon moment que je cherche le moyen de formater un texte que l'on saisi dans une page web (du type celui de ce forum). Je voudra remplacer tous les occurences d'un motif dans une chaîne [ par zarzar ] bonjour je souhaiterais pouvoir remplacer toutes les occurences une sous-chaîne par une autre dans une chaine exemple : j'ai ma chaine str contenant Inserer du texte d'un txt dans une page html [ par mastere30 ] Hello tlm,je suis débutant de chez débutant. J'aimerais savoir comment insérer du texte d'un fichier blabla.txt à ma page index.htmlMerci pour votre a apercu fichier texte html avant enregistrement [ par magicjim ] Bonjour a tous je voudrais savoir comment fait on un apercu du zonetexte (textearea) comme le fait si bien dans le formulaire "Ajouter un message dans


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,312 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales