begin process at 2012 05 31 06:35:33
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

problème accent lors de la saisie et de la recuperation de données


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

problème accent lors de la saisie et de la recuperation de données

mardi 7 avril 2009 à 13:40:28 | problème accent lors de la saisie et de la recuperation de données

livinho38

Bonjour,

pour commencer j'ai un formulaire pour entrer des données, une fois celle ci validé elle sont entrée ds la base de données
mais, si par exemple je rentre Direction générale, dans la table il y aura direction générale

j'ai des liste déroulante qui se creer en fonction des données de la bdd, celle ci sont bien affiché si dans la table de données c'est : générale car si je rentre manuelement générale ds la table, dans la liste déroulante je trouverau g?n?rale...

Maintenant, je veux récuperer les données de la table puisque elles corresponde à des nom de repertoire.. et la vien donc un autre problème... car si clique sur ma liste déroulante (qui affiche pourtant bien générale) il me dit que le dossier est introuvable, or sa marche dès qu'il n'y a pas d'accent...
quelq'un a une solution pour que les données soir entrée ds le bon format? snas qu'apres ça m'affiche des ?

ma base est en utf8_general_ci


merci d'avance
oliv
mardi 7 avril 2009 à 17:57:17 | Re : problème accent lors de la saisie et de la recuperation de données

kohntark

Membre Club
Salut,

Déjà avoir des accents dans des noms de dossiers / fichiers n'est pas trop recommandé.
Tu as un problème d'encodage quelque part. Vérifie tous les softs qui entrent en jeu : encodage de la page web, php, mysql, ton éditeur de code et même l'interface de gestion de la base (phpMyAdmin, ...)
Tous doivent être en UTF8.


Kohntark -

mardi 7 avril 2009 à 18:40:09 | Re : problème accent lors de la saisie et de la recuperation de données

livinho38

tout d'abord merci de ta réponse,

c'est bien un problème d'encodage, mais je comprends pas pourquoi

ma page php est en utf8 et maintenant ma base aussi...

pourtant quand je saisie les données ds le formulaire je suis obliger de faire : utf8_encode($nom) .... pour que dans la table j'obtient bien le bon terme (exemple: Comptabilité et non Comptabilitãc comme sa fait sinon)

ensuite apres l'encodage j'ai les bon resultat dans la base SQL,

mais des que je crée une liste déroulante contenant les données de la table,  ou meme si je fait simplement le print d'un select * FROM mabase

et bien la maintenan j'obtien un resultat en latin 1 puisque tout les "é" se trouve en ? par exemple... sa reste pas en utf8

 je comprend pas pourquoi d'une je suis obliger de passer quand mme par l'encodage, et deux, pourquoi quand la données est bonne dans la table, la requete ne donné pas un resultat similaire...

mercredi 8 avril 2009 à 05:58:59 | Re : problème accent lors de la saisie et de la recuperation de données

kohntark

Membre Club
ma page php est en utf8 et maintenant ma base aussi...
=> tu veux dire ta page HTML ?
Qu'en est il de l'encodage PHP ?
Tu es bien en default_charset UTF-8 dans le php.ini ?


Kohntark -

mercredi 8 avril 2009 à 08:30:55 | Re : problème accent lors de la saisie et de la recuperation de données

livinho38

je travail sous joomla, je  viens de regarder les parametre php, je suis apr default en no_value...
cependant quand je regarde le code source de la page j'ai bien :
<meta http-equiv="content-type" content="text/html; charset=utf-8" />

qui m'indique que je suis en utf8...
d'ou l'incompréhension que un cou c'est en utf8, pr rentrer ds la base il faut quand meme encoder comme cité ds mon précédent message, et quand je fait une requete le resultat est en latin1...


jeudi 9 avril 2009 à 23:15:55 | Re : problème accent lors de la saisie et de la recuperation de données

kohntark

Membre Club
Quelques précisions :
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
Cette balise ne fait qu'indiquer au navigateur comment sont encodés les caractères. C'est le créateur du site qui la renseigne (dans ton cas c'est joomla) Si elle désigne l'encodage en utf-8 et que ta page est en iso_8859 tu risques d'avoir des problèmes.

Quand je dis :
"Vérifie tous les softs qui entrent en jeu : encodage de la page web, php, mysql, ton éditeur de code et même l'interface de gestion de la base (phpMyAdmin, ...)"
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
=> correspond à l'encodage déclaré de ta page web

php
=> il faut regarder dans le php.ini, tu dois avoir default_charset = "UTF-8"

mysql
=> ça semble être OK, mais "utf8_general_ci" n'est pas l'encodage de la base. Il faut que tu regardes la valeur de "jeu de caractères pour mysql" dans "home" sous phpmyadmin.

éditeur de code
Ton éditeur de code peut également poser pb. En effet la plupart d'entres eux permettent de définir l'encodage des caractères.

interface de gestion
Attention là aussi c'est important si tu insères manuellement des données, et ça l'est également pour l'affichage.


Cordialement,


Kohntark -

vendredi 10 avril 2009 à 08:30:32 | Re : problème accent lors de la saisie et de la recuperation de données

livinho38

alors pour repondre a tes explication ,
dans le home de mysql j'ai : Jeu de caractères pour MySQL: UTF-8 Unicode (utf8)
mes bases sont en utf8-general-ci.

pour regler un de mes problème j'ai rajouter la ligne:  mysql_query("SET NAMES 'utf8'"); en dessous de ma ligne de connexion à la base. cependant je ne sais pas si c'est une bonne solution.
ceci règle le problème de saisie (mes données entrées par le formulaire se retrouv telle quelle dans la base, exemple: comptabilité aparait en comptabilité.)
mes listes déroulantes créées en fonction des données de mes table sont aussi lisible ( pas de caractère bizar)
si par exemple dans ma premiere table jai le domaine comptabilité, dans la table fichier j'ai compte.pdf,
si je veux afficher /comptabilité/compte.pdf (suivant les choix de mes liste deroulante) ça marche
par contre si je veux compter le nombre de fichier (physiquement) qu'il y a dans le dossier comptabilité, je doit faire un utf8_decode($domaine) pour que comptabilité soit transformer en comptabilit? et que je puisse alors entrer dedans et faire mes test (if_existe, compter etc etc)

pr résumer, je sais pas si SET NAME... est une bonne solution
et pourquoi /comptabilité ne fonctionne pas pr aler faire mes test physique (dans les dossiers et non dans les bases) ne marche que sous la forme comptabilit? alors que les lien d'ouverture de fichier eux fonction sans le utf8_decode.

je sais pas si j'ai bien eté clair,c'est un peu long mais j'ai essayer detre precis.

Crdlmt
olivier
vendredi 10 avril 2009 à 16:28:42 | Re : problème accent lors de la saisie et de la recuperation de données

kohntark

Membre Club
Pour être honnête je n'ai pas tout compris.

Dans phpMyAdmin / home onglet "variables" regarde quelles sont les valeurs pour :
character set client
character set connection
character set database
character set results
character set server
character set system

Le default_charset du php.ini est il maintenant correct ??

si je veux compter le nombre de fichier (physiquement) qu'il y a dans le dossier comptabilité
=> comment procèdes tu pour faire ça ? si tu peux donner un exemple de code pour bien comprendre

Cordialement,

Kohntark -

vendredi 10 avril 2009 à 16:47:37 | Re : problème accent lors de la saisie et de la recuperation de données

livinho38

je n'ai pas la main sur les fichier de config php, je vias faire la demande de modification elle sera faite d'ici peu
sinon voici un code exemple ( il me sert a tester klk fonctionalité, mais n'est en aucun cas le code qie je me servirai au final) quand celui ci marchera alors je pourrai allé plus loin. en rouge la conversion que je suis obliger de faire pour que le $nomact soit utilisable pour entrer dans les repertoire, (nomtype=repertoire nomact=sous repertoir de type)
pour le moment je choisi un type, une activité et ça m'affiche les fichier qui existe dans le repertoire, et indique lesquel sont dans la base de donnée.


function compteurfichier($req, $type, $act, $nmtype, $nmact){
    $nomact=utf8_decode($nmact);
    $nomtype=utf8_decode($nmtype);

    $compteur=0;

    $i=0;

    $dir= './jumi/documents/'.$nomtype.'/'.$nomact.'/' ;
    print_r('repertoire : '.$dir.'<br><br>');
    $liste = opendir($dir);
   
   
    while ($fichier= readdir($liste)){
   
        $extension1=strrchr($fichier,'.');
        $extension2=substr($extension1,1) ;         
        $fichierSansExt = basename($fichier, $extension1);

   
        if ($fichier != '.' && $fichier!='..' && $extension1!='.db'){
           
            print_r($fichierSansExt.'<br>');
       
            $req='SELECT * FROM jos_qualite_fichier WHERE jos_qualite_fichier.nom="'.utf8_encode($fichierSansExt).'" AND jos_qualite_fichier.extension="'.$extension2.'"';
           
            print_r('<br> requete:  '.$req . '<br><br>');
            $res=mysql_query($req);
       
            if ($res){
                while($var = mysql_fetch_assoc($res)){
                print_r('<b>'.$var['nom'].' est dans la table dans l\'activite : '.$var['id_activite'].' </b><br>');
                }
            }
            $compteur++;
        }
   
    }
    print_r('nombre total: '.$compteur);
   
}

vendredi 10 avril 2009 à 17:29:01 | Re : problème accent lors de la saisie et de la recuperation de données

kohntark

Membre Club
Pourquoi faut il répéter 4 fois qu'il faut que tu regardes la config du php.ini pour que tu me donnes une réponse ?
N'y vois là aucune méchanceté de ma part mais si tu souhaites régler ton problème il faut peut être tenir compte des commentaires, et répondre aux questions.

As tu vu que j'ai écrit :
Dans phpMyAdmin / home onglet "variables" regarde quelles sont les valeurs pour : [...]
En fait ça me paraissait évident, ...  mais j'attendais une réponse


Essai d'ajouter ça au tout début de ton code :
ini_set('default_charset', 'utf-8');


Cordialement,

Kohntark -


1 2

Cette discussion est classée dans : problème, accent, table, données, ds


Répondre à ce message

Sujets en rapport avec ce message

Problème pour lire et afficher sur un page les données de ma table... [ par rem78 ] Bonjour,J'ai un problème pour arriver à récupérer et afficher les données depuis une table de ma base, jai fait le script suivant :1 2 include("../Liv Problème d'insertion dans une table [ par kouzamax ] Bonjour à tous, Je suis occupé de développer un petit soft permettant de stocker des numéros de téléphone avec les informations des personnes. Mon php/mysql [ par aamsa ] Bonjour à toutes et à tous, Mon problème est le suivant: J'ai codée une formulaire qui sert a insérer des données dans ma table MySql et pour insérer Import de CSV dans la BDD [ par distar ] Bonjour, Je suis débutant en PHP/MySQl et j'aurais besoin de votre aide.... J'ai un fichier excel qui est une base de données clients (nom, adresse, t problème d'accent [ par aitmat ] Bonjour voila mon problème c'est que é è ê ô... n'apparaissent pas dans le navigateur mais apparaissent normal dans DW exemple: dans DW: Présentatio données de formulaire "undefined" [ par Loki6 ] Salut à tous,mon problème d'aujourd'hui n'est pas à proprement parlé du php, mais c'est lié et j'ai pas trouvé de htmlfrance.com ^^alors voilà, j'ai f doublon dans un fichier csv [ par kikol ] Bonjour à vous, amis codeurs Désolé je ne sais aps si cette question est à al bonne place car c'est du mysql mais aussi de l'implémentation ^^. Je vie recuperation des données d une table [ par zakialh ] j'ai crée un formulaire et j ai deux balise select,dans la 1ère je sélectionne le departement et dans la 2ème il faut k elle affiche seulmnt les ensei Problème avec Mysql_fetch_row [ par palisse ] Bonjour, Je cherche à pouvoir récupérer des données dans une BDD et mettre les valeurs des champs récupérés dans un message à envoyer. Voici le code insertion dans la base de données [ par Mrkhettari ] je suis entrain de developper une application avec php qui gere la reservation de billets alors mon problème c'est que : lorsque deux client click en


Nos sponsors


Sondage...

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,546 sec (3)

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