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

Javascript / DHTML / Ajax

 > 

CSS

 > 

Général

 > 

Javascript: problème avec Unicode


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

Javascript: problème avec Unicode

dimanche 12 avril 2009 à 20:43:57 | Javascript: problème avec Unicode

Amallric

Bonjour,

J'ai un site qui fonctionne avec AJAX composé de:

- une page index.php pour l'affichage qui contient des balises HTML, avec la balise:
[CODE]<meta http-equiv="Content-Type"
  content="text/html;charset=UTF-8" />
[/CODE]

- une page interact.php utilisée uniquement pour l'interaction avec la base de données, sans HTML, mais avec le header suivant:
[CODE]header('Content-Type: text/xml; charset=utf-8');[/CODE]

- une base de donnée MySQL qui utilise le codage "utf8_unicode_ci"

- une page ajax.js répertoriant toutes les fonctions javascript, sans indication du charset  utilisé.

Toutes les pages ont été créées avec l'IDE Code::Blocks et enregistrés en UTF-8.

Lorsque j'essaye d'afficher des caractères "spéciaux" récupérés depuis la BDD grâce à interact.php et AJAX, des points d'interrogation s'affichent(en revanche, les caractères présents du même type présents d'office dans index.php s'affichent correctement).

Je dois encore préciser qu'avec FireBug je peux voir le résultat de la requête AJAX et les caractères y sont affichés correctement.

Il me semble donc qu'il y a un "maillon" manquant qui fait que le site ne peut pas supporter pleinement le unicode; quelqu'un aurait-il une idée?

Merci d'avance,
Amallric
lundi 13 avril 2009 à 09:22:48 | Re : Javascript: problème avec Unicode

Bul3

Membre Club
bonjour,

>> Lorsque j'essaye d'afficher des caractères "spéciaux" récupérés
>> depuis la BDD grâce à interact.php et AJAX,

bah ? tu ne disais pas que interact.php n'avait pas de html ?
( >> une page interact.php utilisée uniquement pour l'interaction
  >> avec la base de données, sans HTML ... )
donc... tu affiches ça ailleurs ?
et là : meta et/ou header sont ok ??

@+
lundi 13 avril 2009 à 09:58:50 | Re : Javascript: problème avec Unicode

Amallric

J'affiche dans index.php qui a un meta adéquat(pas de header par contre).
lundi 13 avril 2009 à 10:19:24 | Re : Javascript: problème avec Unicode

Bul3

Membre Club

si j'ai compris

dans index.php, on fait appel avec ajax à interact.php
    qui retourne les infos de la base de données

si toutes les sources sont bien en utf-8, que les
meta et les header sont cohérents...
pas de souci... "normalement"

peut-être te manque-t-il un
xml.setRequestHeader("Content-type", "charset=utf-8");
     derrière l'Open ?

attention aussi ( mais tu dois le savoir ) à l'envoi
   des header qui doivent être fait avant tout ( même un espace ! )

lu dans le manuel :
N'oubliez jamais que header() doit être appelée avant que le moindre
contenu ne soit envoyé, soit par des lignes HTML habituelles dans le
fichier, soit par des affichages PHP. Une erreur très classique est
de lire un fichier avec include() ou require(), et de laisser des
espaces ou des lignes vides, qui produiront un affichage avant que
la fonction header() ne soit appelée. Le même problème existe avec
les fichiers PHP/HTML standards.

@+
lundi 13 avril 2009 à 11:21:06 | Re : Javascript: problème avec Unicode

Amallric

Moi j'ai "xml.setRequestHeader("Content-type", "application/x-www-form-urlencoded");" et si j'essaye de remplacer par "charset=utf-8" la requête ne fonctionne pas(PHP indique une erreur de transmission de données). Je sais pas si ça vient de là...(pas moyen de trouver de la documentation sur setRequestHeader).
lundi 13 avril 2009 à 11:38:51 | Re : Javascript: problème avec Unicode

Bul3

Membre Club
ne pas remplacer, mettre en plus
et ça ne doit pas donner d'erreurs,
   sinon c'est que UTF-8 n'est pas
   respecté "partout", je pense ( donc j'essuie )
lundi 13 avril 2009 à 11:50:36 | Re : Javascript: problème avec Unicode

Bul3

Membre Club
en gros, j'ai un exemple :

.htm (utf8 sans bom ):
<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=utf-8">
xml.open("POST", "utf8.php", true);
xml.setRequestHeader("Content-type","application/x-www-form-urlencoded");
var tmp="env="+document.getElementById('env').value;
xml.send(tmp); // avec accents et le reste....

.php  (utf8 sans bom ):
<?php
header('Content-Type: text/html; charset=utf-8');
echo 'éàö'.$_POST['env']
?>

et tout baigne
lundi 13 avril 2009 à 11:50:50 | Re : Javascript: problème avec Unicode

Amallric

J'ai essayé comme tu dis mais ça n'a rien donné. Bon je suppose tant pis, merci pour ton aide en tout cas!
lundi 13 avril 2009 à 12:22:32 | Re : Javascript: problème avec Unicode

Bul3

Membre Club
vérifie encore que toutes tes sources
soient bien resté en UTF-8
je ne sais plus avec quel éditeur j'ai
eu le cas où elles revenaient en ansi
si aucun caractère nécessitante "utf8"
n'existait dans la source ;o(

lundi 13 avril 2009 à 13:18:09 | Re : Javascript: problème avec Unicode

Amallric

J'ai fait ton exemple et il marche, mais j'ai tjs le même problème avec mon site...
Bon par contre j'utilise une requête renvoyant un document XML et toi un texte, ça vient peut être de là?

1 2

Cette discussion est classée dans : javascript, code, php, ajax, unicode


Répondre à ce message

Sujets en rapport avec ce message

problème d'url javascript php [ par tweeder ] bonjourvoici mon code pour appeler la fonction qui affiche le pop up)" class="smallLinkBlack">Cal prob éxécution js / et balises <table> [ par zeraxp ] salut,alors voila j'ai une fonction javascript qui est appelé sur lévenement on submit d'un formulaire:....<input type="submit" value=Re Utilisation d'une variable javascript dans un code PHP [ par bonjovi51 ] Bonjour à tous, En fait, je ne savais pas si je devais poster ce message dans la section javascript ou bien PHP.Bref, mon pb est de comparer une varia variable javascript envoyée dans un formulaire vers page php [ par DzinVolt_Original ] Bonjour a tous, je voudrais envoyer une variable Javascript dans un formulaire pour pouvoir l'utiliser ensuite dans une page en PHP voici le code java exécution de code php dans du javascript [ par sarril ] Bonjour, sur une page, j'ai créé un bouton pour détruire une donnée. Lors du clic, j'appelle une page qui affiche une boite de dialogue de type confi Utilisation d'une fonction javascript dans le code php [ par krazylo ] Bonjour voici mon probleme, je suis débutant en javascript et je voudrais utiliser une fonction javascript déclarée entre les balises dans un code ph mettre du php dans un code javaScript (décompte) [ par spiesalex ] Salut j,ai ma variable php $time_eclair et j'aimerai faire un décompte en javaScript (voir le temps découlercomment je dois procéder merci à ceux qui prb avec Ajax (ou incomprension du fonctionnement des FONCTIONS) [ par gomoz ] Je m'essaye aux thechniques Ajax pour me faciliter un peu la vie sur un petit programme php que je veux ameliorer.Il y a juste une chose que j'arrive donne php dans un popup javascript dhtml ou ajax [ par speedylol ] bonjour, j aimerais ajouter une sortie de donnée php dans un popup en javascript ou lesdonnée défilerais dans ce popup, l'on ma dis que cela etait pos AJAX & PHP : Gestion des Sessions [ par bjipowa ] Bonjour à tous !Je ne savais pas si il fallait mieux poser sa sur PHP-fr ou sur javascriptFr donc j'ai décidé étan donné que c'est un peu plus du doma


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

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,421 sec (4)

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