Bonjour, depuis un script jquery (DataTables) je passe un nom de mois en post à une page PHP.
Tout se passe bien bien Sauf pour le mois d'Août (à cause de l'accent) et je ne comprends rien du tout à ce qu'il se passe.
Tout d'abord, voici le js :
Voici une partie de la page listing_tables.php lancée en ajax :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 [...] ajax: 'php/listing_tables.php?nom_utilisateur='+$("#nom_utilisateur").val()+'&date_depense='+$("#date_depense").val(); [...]
Dans le debug de Chrome, tout à l'air ok, et quand je regarde les flux (network) je lis ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <?php session_start(); header( 'content-type: text/html; charset=utf-8' ); $date_depense=(isset($_GET['date_depense'])?$_GET['date_depense']:''); include "../../../bin/cnx/cnx.php"; $requete = "select ID_FACTURE FROM TBL_FACTURE" $requete .="WHERE upper(TO_CHAR(TO_DATE(DATE_FACTURE,'DD/MM/YYYY HH24:Mi'),'MM/YYYY')) = TO_CHAR(TO_DATE(('".$date_depense."','Mon YYYY'),'MM/YYYY') "; include "../../../bin/cnx/ordres.php"; <BOUCLE> echo "<br>date_depense ".$date_depense, "<br>requete "$requete; include "../../../bin/cnx/dcnx.php"; ?>
mais la requête ne me renvoie rien alors que si je la copie dans toad j'ai bien une ligne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 "<br>date_depense ":"Août 2016" "<br>requete ":"SELECT distinct DATE_FACTURE, LIB_PRODUIT, FOURNISSEUR, MONTANT, ID_FACTURE FROM (select DATE_FACTURE , TP.LIB_PRODUIT , TFO.LIB_FOURNISSEUR||' ('||ADRESSE_FOURNISSEUR||')' AS FOURNISSEUR , TF.MONTANT AS MONTANT , TF.ID_FACTURE , TS.NUM_AGENT from TBL_GESTRES_FACTURE TF , TBL_GESTRES_PRODUIT TP , TBL_GESTRES_FOURNISSEUR TFO , TBL_GESTRES_AGENT TT , TBL_AGENTS TS where TF.ID_PRODUIT = TP.ID_PRODUIT AND TF.ID_FOURNISSEUR = TFO.ID_FOURNISSEUR AND TF.ID_AGENT = TT.NUM_AGENT AND TT.NUM_AGENT = TS.NUM_AGENT AND TS.ANTENNE||NVL(TS.PROXIMITE,'0') like '00' AND upper(TO_CHAR(TO_DATE(DATE_FACTURE,'DD/MM/YYYY HH24:Mi'),'MM/YYYY')) = TO_CHAR(TO_DATE(('Août 2016','Mon YYYY'),'MM/YYYY') ) WHERE 1=1 "
Depuis le debug de chrome, je lance la page appelée depuis le js dans un onglet du navigateur (clic droit + "open link in a new tab") :
J'ai donc ceci :
[/CODE]
et dans le Network Chrome, je lissoit le û au format unicode ..."date_depense":"Ao\u00fbt"
Dans la page PHP, j'ai donc essayé :
j'obtient
Code : Sélectionner tout - Visualiser dans une fenêtre à part $date_depense=htmlentities((isset($_GET['date_depense'])?$_GET['date_depense']:''))Aoûtj'obtient
Code : Sélectionner tout - Visualiser dans une fenêtre à part $date_depense=htmlentities(utf8_encode((isset($_GET['date_depense'])?$_GET['date_depense']:'')));AoÃj'obtient
Code : Sélectionner tout - Visualiser dans une fenêtre à part $date_depense=htmlentities(utf8_decode((isset($_GET['date_depense'])?$_GET['date_depense']:'')));mais en chargeant tout depuis le JS, la requête ne renvoie rien, et dans le débug je lis queAoûtMes fichiers js et php sont en utf8 sans BOM."date_depense":"Août"
Je craque ...
HELP ME PLEASE !
Partager