IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

problème de caractères spéciaux sur le connector select filter de dhtmlxgrid


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    306
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2008
    Messages : 306
    Points : 76
    Points
    76
    Par défaut problème de caractères spéciaux sur le connector select filter de dhtmlxgrid
    Bonjour,

    J'ai implémenté pour mon site la grid dhtmlx avec un connector pour le remplir dynamiquement par tranche de 100 avec une pagination. Et j'ai attaché au header un connector_Select_filter

    Il fonctionne très bien sauf quand il y a des accents, là il ne me retrouve pas la correspondance. Dans ma db, l'encodage est bien en utf-8 et les noms sont stockés genre "éléphant"

    Dans mon fichier connector je fais ceci pour avoir les noms écrits correctement et ne pas avoir d'erreur au chargement du xml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    function encode($row)
    {
        $data = $row->get_value("value");
        $row->set_value("value", utf8_encode($data));
     
        $data = $row->get_value("label");
        $row->set_value("label", utf8_encode($data));
    }
    $options = new OptionsConnector($DB);
        $options->event->attach("beforeRender","encode_utf8_options");
        $options->render_table("animaux","","intitule(value),intitule(label)");
        $grid->set_options("intitule",$options);
    J'ai vu qu'on pouvait attacher un événement pour intervenir sur la valeur envoyée et la transformer afin de retrouver la correspondance dans ma db mais je cale complètement.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $grid->event->attach("beforeFilter","custom_filter");

    Est ce que quelqu'un a déjà rencontré et solutionné ce problème ?

    Merci parce que je bloque depuis un certains temps

  2. #2
    Nouveau Candidat au Club
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2014
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2014
    Messages : 1
    Points : 1
    Points
    1
    Par défaut encode en iso-8859-1
    Bonjour,
    Utilise les fonctions set_encoding pour ton connector $gridConn->set_encoding("iso-8859-1"); //Ajout des encoding iso-8859-1 pour l'encodage

    Globalement je vous conseille d’encoder tes connecteurs php en iso-8859-1 et d’utiliser les connecteurs dans leurs états ! Sauf s’il y a des spécifications comme le cas pour ton connector:
    1: cherche les connecteurs, ici c'est le cas pour les grid, ils sont dans le répertoire /grid du dhtmlx connector
    2: encode en iso-8859-1, ici pour les grilles donc tu ajoutes $gridConn->set_encoding("iso-8859-1"); juste après la ligne du Grid connection
    En détails voici un exemple simplifié pour les Connecteurs Grids "voir ligne rouge":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    	require_once("../config.php");  //Paramètres de connections
    	$res=mysql_connect($mysql_server,$mysql_user,$mysql_pass);
    	mysql_select_db($mysql_db);
    	require("../../codebase/grid_connector.php");
    $gridConn = new GridConnector($res);
    $gridConn->set_encoding("iso-8859-1");  //Ajout des encoding iso-8859-1 pour l'encodage
    $sql = "SELECT * FROM `tableTest` ";
    $gridConn->render_sql($sql,"id","nom, prenom, age, telephone");
    ?>
    Je suis avec vous quand vous testez les connecteurs au début pour vérifier les utf-8 de fichiers xml et pour l'utilisation de la utf8_encode
    Sachez aussi qu'on peut faire des utf8_encode globales via l'ajout des charset="utf-8" en entêtes, links et scripts java de tes interfaces, exemples d’utilisations des charset:

    <script src="./utils/Ajax_connections/codebase/connector.js" type="text/javascript" charset="utf-8"></script>
    <link rel="stylesheet" href="../dhtmlx/dhtmlx.css" type="text/css" charset="utf-8">
    Bien à vous

Discussions similaires

  1. [MySQL-5.5] Problème de caractères spéciaux dans un select
    Par Bragu Demon dans le forum Requêtes
    Réponses: 2
    Dernier message: 05/03/2015, 15h05
  2. Problème de caractères spéciaux sur chemin
    Par la_praline dans le forum C#
    Réponses: 1
    Dernier message: 29/07/2009, 00h20
  3. Probléme encodage caractéres spéciaux MYSQL
    Par FoxLeRenard dans le forum Installation
    Réponses: 1
    Dernier message: 20/02/2006, 13h10
  4. [SOAP] problème de caractères spéciaux
    Par ep31 dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 02/12/2005, 18h43
  5. [SQL Server] problème de caractères spéciaux
    Par mbibim63 dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 02/06/2005, 19h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo