Javascript, PHP, AJAX Problème de charset!

Discussion dans 'Web, design' créé par k o D, 21 Mai 2008.

Statut de la discussion:
Fermée.
  1. Offline
    k o D Belge !
    Bonsoir à vous.
    Je viens encore une fois solliciter votre aide... et oui :oops:

    Cette fois-ci j'ai un problème de charset... je vous explique ce que je veux faire.

    J'ai un tableau contenant des données initialement rempli par PHP. J'ai une fonction de recherche sur le dit tableau qui s'occupe d'envoyer une requête AJAX à une page PHP.
    Cette page PHP écrit le code HTML à remplacer dans le tableau (oui je sais c'est pas des plus beau...)

    Seulement ce qu'il écrit ne correspond bien entendu pas à ce que je lui ai demandé vu qu'il place l'espèce de losange avec le "?" à la place de tous les accents ou caractères spéciaux.
    Et bon ben bien entendu je veux éviter cela :)

    Voici une partie de mon javascript:

    function search() {
    status = document.getElementById("status").value;
    company = document.getElementById("company").value;
    month = document.getElementById("month").value;
    year = document.getElementById("year").value;
    var objet = '{"status":"'+status+'","company":"'+company+'","month":"'+month+'","year":"'+year+'"}';
    http = createRequestObject();
    http.open('post', 'indexInvoice.php', true);
    http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    http.onreadystatechange = handleSearchReturn;
    http.send('search='+objet);
    }
    function handleSearchReturn() {
    if(http.readyState == 4) {
    if(http.status == 200) {
    document.getElementById("tabInvoice").innerHTML=http.responseText;
    } else {
    alert('La connexion à la page n\'est plus valable!');
    }
    }
    }

    Et voilà ce que ma page PHP appelée répond:

    PHP:
        $arrayRep json_decode($_POST['search'],true);
        
    $arrayInvoice Invoice::getInvoices($arrayRep,$compte);
        
    $tab $headerTab;
        for (
    $i=0,$count=count($arrayInvoice);$i<$count;$i++) {
            
    $tab .='<tr>';
            
    $tab .='<td>'.$arrayInvoice[$i]->getInvoiceNumber().'</td>';
            
    $tab .='<td>'.$arrayInvoice[$i]->getCompany().'</td>';
            
    $tab .='<td>'.$arrayInvoice[$i]->getInvoiceStatus().'</td>';
            
    $tab .='<td>'.$arrayInvoice[$i]->getInvoiceDateEU().'</td>';
            
    $tab .='<td><input type="button" value="Générer Duplicata" onclick="genPDF('.$arrayInvoice[$i]->getIdCRM().',\'Duplicata\')"/></td>';
            
    $tab .='<td><input type="button" value="Générer avec texte" onclick="genPDF('.$arrayInvoice[$i]->getIdCRM().',\'xxx\')"/></td>';
            
    $uri Invoice2PDF::getURIPDF($arrayInvoice[$i]->getInvoiceDate(),$arrayInvoice[$i]->getCompany(),$arrayInvoice[$i]->getInvoiceNumber());
            if (
    file_exists($uri)) {
                
    $url Invoice2PDF::getURLPDF($arrayInvoice[$i]->getInvoiceDate(),$arrayInvoice[$i]->getCompany(),$arrayInvoice[$i]->getInvoiceNumber());
                
    $tab .='<td><a href="'.$url.'" target="_blank"><img src="img/pdf.png" border="0"/></a></td>';
            } else {
                if (
    $arrayInvoice[$i]->getInvoiceStatus() == 'Created') {
                    
    $tab .='<td><a href="javascript:genPDF('.$arrayInvoice[$i]->getIdCRM().',\'Aperçu\')"><img src="img/apercu.png" border="0"/></a></td>';
                } else {
                    
    $tab .='<td><img src="img/impossible.png"/></td>';
                }
            }
            
    $tab .='</tr>';
        }
        
    $tab .= '</table>';
        echo 
    $tab;
        return;
    Bien entendu $headerTab est déclaré plus haut mais bon çà ce n'est pas important :-D
    Merci d'avance!
    k o D, 21 Mai 2008
    #1
  2. Offline
    ozilrit Touriste
    XMLHttpMachin espère de l'UTF-8.
    ozilrit, 21 Mai 2008
    #2
  3. Offline
    k o D Belge !
    Oui je m'en doutais mais donc, puis-je forcer le charset quelque part?
    k o D, 21 Mai 2008
    #3
  4. Online
    eGm_ Guinea Trump
    eGm_, 22 Mai 2008
    #4
  5. Offline
    k o D Belge !
    Franchement je vais aller me pendre... j'utilise ces utf8_encode/decode partout et je ne sais pas hier j'avais pas la tête à çà...

    Le pire c'est que je me dis ce matin avant d'arriver au stage "Hey mais en fait utf8_encode() et c'est réglé" puis "Bah non pas possible c'est trop con j'y aurai pensé hier" :D
    k o D, 22 Mai 2008
    #5
Statut de la discussion:
Fermée.