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

MkFramework Discussion :

Gestion de l'encodage avec la base de données


Sujet :

MkFramework

  1. #21
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    septembre 2015
    Messages
    304
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Gabon

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : septembre 2015
    Messages : 304
    Points : 107
    Points
    107
    Par défaut
    Une petite pause histoire d'être rassurée sur un point.
    Le framework fonctionne avec des vues (en .php) qui sont appellée dans un template (en .php). C'est ce ensemble qui forme la page HTML ?

  2. #22
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    décembre 2006
    Messages
    5 238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : décembre 2006
    Messages : 5 238
    Points : 19 645
    Points
    19 645
    Billets dans le blog
    17
    Par défaut
    Pour expliquer globalement: l'html est un meta language d'affichage

    On peut l'utiliser dans plusieurs langages dont le php pour l'envoyer au navigateur qui saura comment l'afficher

    Pour revenir au framework

    partie model (répertoire model)
    - on fait les requetes en base de données

    partie module
    fichier main.php
    - ici c'est le controlleur/chef d'orchestre : où l'on fait appel à la couche model pour interagir avec les données, et l'on invoque des objets vues auquelles ont assigne des variables pour enrichir la sortie
    répertoire view
    - ici on stoque les "vues" qui sont des pages mixtes: contenant html et php qui servent à afficher à l'écran

    le repertoire layout
    - contient le/les templates généraux du site permettant d'organiser plus facilement ses sites web
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  3. #23
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    septembre 2015
    Messages
    304
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Gabon

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : septembre 2015
    Messages : 304
    Points : 107
    Points
    107
    Par défaut
    Oui c'est la même page.
    En local j'ai créé un nouvel enregistrement (postes/view/new.php) en renseignant les champs avec les caractères accentués. C'est parti en base en remplaçant les 'é' par 'é'. Juste juste ce qu'il me faut.

    Chez l'hébergeur je prend le même formulaire, je rentre les même infos, je valide et les champs contenant les accents de se retrouvent pas dans ma table. Les champs qui n'en comportent pas sont bien remplis.

    Ca me rend dingue tout ca!

    L'hébergeur me fait comprendre que le serveur est sous ISO. Ça a une incidence?

  4. #24
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    décembre 2006
    Messages
    5 238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : décembre 2006
    Messages : 5 238
    Points : 19 645
    Points
    19 645
    Billets dans le blog
    17
    Par défaut
    oui si le serveur est en iso et le site en utf-8 ça peut gener

    vous n'avez pas répondu à mes questions concernant l'affichage des erreurs :_
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  5. #25
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    décembre 2006
    Messages
    5 238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : décembre 2006
    Messages : 5 238
    Points : 19 645
    Points
    19 645
    Billets dans le blog
    17
    Par défaut
    Vous pouvez poster la méthode processSave du formulaire en question, on va ajouter des elements pour debuger

    note: vous avez bien passé votre site en mode dev : on va utiliser la barre de debug
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  6. #26
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    septembre 2015
    Messages
    304
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Gabon

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : septembre 2015
    Messages : 304
    Points : 107
    Points
    107
    Par défaut
    vous n'avez pas répondu à mes questions concernant l'affichage des erreurs :_
    Non je n'ai pas d'erreur qui apparait. Concernant l'installation linux je ne peux pas dire car moi je n'ai rien installé. sur mon PC c'est windows, et c'est l'hébergeur qui est sous linux.

  7. #27
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    septembre 2015
    Messages
    304
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Gabon

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : septembre 2015
    Messages : 304
    Points : 107
    Points
    107
    Par défaut
    Bonjour bonjour à tous,

    Nouvelle journée, puisse t-elle être fructueuse!

    Voici la méthode procesSave() de mon module 'postes'. Le site est en mode 'dev' et la barre de debug présente.
    Code php : 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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    private function processSave(){
    		if(!_root::getRequest()->isPost() ){ //si ce n'est pas une requete POST on ne soumet pas
    			return null;
    		}
     
    		$oPluginXsrf=new plugin_xsrf();
    		if(!$oPluginXsrf->checkToken( _root::getParam('token') ) ){ //on verifie que le token est valide
    			return array('token'=>$oPluginXsrf->getMessage() );
    		}
     
    		$iId=_root::getParam('id',null);
    		if($iId==null){
    			$oPostes=new row_postes;	
    		}else{
    			$oPostes=model_postes::getInstance()->findById( _root::getParam('id',null) );
    		}		
     
    		$tColumn=array('reference','intitule','type_contrat','situation','dimension','activite','finalite','profil_requis','statut_poste_id','direction_id');
    		foreach($tColumn as $sColumn){
    			$oPostes->$sColumn=_root::getParam($sColumn,null) ;
    		}
    		//$oPostes->date_publication = date("Y-m-d");
    		if($oPostes->date_publication==null){
    			$oPostes->date_publication = date("Y-m-d");
    		}
     
    		if($oPostes->save()){
    			//une fois enregistre on redirige (vers la page liste)
    			_root::redirect('postes::list');
    		}else{
    			return $oPostes->getListError();
    		}
     
    	}
    J'ai encore fais un test ce matin(en création:new.php, en modification:edit.php) et c'est le même comportement. Lorsqu'il y a un caractère spécial dans les champs du formulaire, les données ne vont pas en BD.

  8. #28
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    décembre 2006
    Messages
    5 238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : décembre 2006
    Messages : 5 238
    Points : 19 645
    Points
    19 645
    Billets dans le blog
    17
    Par défaut
    Essayez: sur le serveur linux de passer l'encodage en ISO au lieu d'utf8 pour voir

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    [encodage]
    ;default charset, used by plugin_html::encode($text)
    charset=ISO-8859-1
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  9. #29
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    décembre 2006
    Messages
    5 238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : décembre 2006
    Messages : 5 238
    Points : 19 645
    Points
    19 645
    Billets dans le blog
    17
    Par défaut
    AUtre question: quand vous allez sur le site: dans votre navigateur, quel encodage est détecté ?

    Dans chrome: menu > plus d'outils > encodage
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  10. #30
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    septembre 2015
    Messages
    304
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Gabon

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : septembre 2015
    Messages : 304
    Points : 107
    Points
    107
    Par défaut
    1- j'ai remis le charset en iso dans le fichier site.ini.php
    2-l'encodage qui est détecté dans mon navigateur est 'Occident (windows 1252)'
    3- Voici la réponse que j'ai reçu ce matin du support de l'hébergeur:
    Le serveur est en iso. ça signifie que l'encodage des pages de même que le système est en iso.
    Vos pages sont en ascii, donc en iso, mais vous avez indiqué dans l'en-tête des pages utf-8.
    Si vous voulez tout passer en utf-8, il vous faut convertir vos pages ascii en utf-8, via votre éditeur de texte. Puis ensuite mettre si ce n'est pas déjà fait, le fichier .htaccess.

    Pour la base de données, elle est indépendante de vos pages, mais pour ne pas avoir de problème doit avoir le même encodage que vos pages. Cela se fait lors de la création. De notre côté il n'y a rien. Vous choisissez utf-8 lorsque vous créez une table.

  11. #31
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    décembre 2006
    Messages
    5 238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : décembre 2006
    Messages : 5 238
    Points : 19 645
    Points
    19 645
    Billets dans le blog
    17
    Par défaut
    Et donc en testant en ISO ? et en modifiant également le layout

    idem pour le fichier conf/connexion.ini.php

    Ici donc le problème n'est pas lié à linux/windows mais à votre hebergeur
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  12. #32
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    septembre 2015
    Messages
    304
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Gabon

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : septembre 2015
    Messages : 304
    Points : 107
    Points
    107
    Par défaut
    Je Je crois qu'il y a un problème à l'initialisation de la connexion avec la BD quand c'est iso:
    SQLSTATE[HY000] [2019] Can't initialize character set ISO-8859-1 (path: /usr/share/mysql/charsets/)
    #0 /home/sites/hebfree.org/tmgrecrutement/public_html/framework/sgbd/pdo/sgbd_pdo_mysql.php(57): PDO->__construct('mysql:dbname=tm...', 'tmgrecrutement', 'xxx')
    #1 /home/sites/hebfree.org/tmgrecrutement/public_html/framework/abstract/abstract_sgbd_pdo.php(245): sgbd_pdo_mysql->connect()
    #2 /home/sites/hebfree.org/tmgrecrutement/public_html/framework/abstract/abstract_sgbd_pdo.php(150): abstract_sgbd_pdo->query('SELECT * FROM d...', Array)
    #3 /home/sites/hebfree.org/tmgrecrutement/public_html/framework/abstract/abstract_model.php(134): abstract_sgbd_pdo->findMany(Array, 'row_directions')
    #4 /home/sites/hebfree.org/tmgrecrutement/public_html/e-cand/model/model_directions.php(25): abstract_model->findMany('SELECT * FROM d...')
    #5 /home/sites/hebfree.org/tmgrecrutement/public_html/e-cand/model/model_directions.php(30): model_directions->findAll()
    #6 /home/sites/hebfree.org/tmgrecrutement/public_html/e-cand/module/postes/main.php(55): model_directions->getSelect()
    #7 /home/sites/hebfree.org/tmgrecrutement/public_html/framework/class_root.php(263): module_postes->_list()
    #8 /home/sites/hebfree.org/tmgrecrutement/public_html/e-cand/public/index.php(47): _root->run()
    #9 {main}

    Detail:
    #0 /home/sites/hebfree.org/tmgrecrutement/public_html/framework/sgbd/pdo/sgbd_pdo_mysql.php (57)
    PDO -> __construct( 'mysql:dbname=tmgrecrutement0;host=localhost;charset=ISO-8859-1;' , 'tmgrecrutement' , 'xxxxx' )
    #1 /home/sites/hebfree.org/tmgrecrutement/public_html/framework/abstract/abstract_sgbd_pdo.php (245)
    sgbd_pdo_mysql -> connect( )
    #2 /home/sites/hebfree.org/tmgrecrutement/public_html/framework/abstract/abstract_sgbd_pdo.php (150)
    abstract_sgbd_pdo -> query( 'SELECT * FROM directions' , Array ( ) )
    #3 /home/sites/hebfree.org/tmgrecrutement/public_html/framework/abstract/abstract_model.php (134)
    abstract_sgbd_pdo -> findMany( Array ( [0] => SELECT * FROM directions ) , 'row_directions' )
    #4 /home/sites/hebfree.org/tmgrecrutement/public_html/e-cand/model/model_directions.php (25)
    abstract_model -> findMany( 'SELECT * FROM directions' )
    #5 /home/sites/hebfree.org/tmgrecrutement/public_html/e-cand/model/model_directions.php (30)
    model_directions -> findAll( )
    #6 /home/sites/hebfree.org/tmgrecrutement/public_html/e-cand/module/postes/main.php (55)
    model_directions -> getSelect( )
    #7 /home/sites/hebfree.org/tmgrecrutement/public_html/framework/class_root.php (263)
    module_postes -> _list( )
    #8 /home/sites/hebfree.org/tmgrecrutement/public_html/e-cand/public/index.php (47)
    _root -> run( )
    #9 {main}
    Fichier : /home/sites/hebfree.org/tmgrecrutement/public_html/framework/sgbd/pdo/sgbd_pdo_mysql.php ligne 57

    Message : SQLSTATE[HY000] [2019] Can't initialize character set ISO-8859-1 (path: /usr/share/mysql/charsets/)
    En mettent UTF8 dans connexion.ini.php l'erreur a disparu. J'effectue des test pour voir si les problèmes persistent

  13. #33
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    décembre 2006
    Messages
    5 238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : décembre 2006
    Messages : 5 238
    Points : 19 645
    Points
    19 645
    Billets dans le blog
    17
    Par défaut
    Et en supprimant la partie charset ?
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  14. #34
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    septembre 2015
    Messages
    304
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Gabon

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : septembre 2015
    Messages : 304
    Points : 107
    Points
    107
    Par défaut
    Apparemment plus de souci pour afficher les données qui sont dans la base. Si j'écris un 'é' dans le formulaire il se retrouve transformé en 'é' dans la BD.
    Note: Même en enlevant le charset du fichier de connexion c'est pareil.

  15. #35
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    décembre 2006
    Messages
    5 238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : décembre 2006
    Messages : 5 238
    Points : 19 645
    Points
    19 645
    Billets dans le blog
    17
    Par défaut
    Donc la c'est bon ?
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  16. #36
    Membre régulier
    Femme Profil pro
    Étudiant
    Inscrit en
    septembre 2015
    Messages
    304
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Gabon

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : septembre 2015
    Messages : 304
    Points : 107
    Points
    107
    Par défaut
    Hmmm, oui je crois bien que c'est bon.
    Merci pour tout ce temps consacré à mes blocages.

    A bientôt.

  17. #37
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    décembre 2006
    Messages
    5 238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : décembre 2006
    Messages : 5 238
    Points : 19 645
    Points
    19 645
    Billets dans le blog
    17
    Par défaut
    C'est normal, ça fait parti du pack mkframework
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [Encodage] Problème d'encodage avec une base MySQL en UTF-8
    Par Loup solitaire dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 12/08/2014, 11h16
  2. Gestion des connexions avec la base de donnée
    Par lr dans le forum Tomcat et TomEE
    Réponses: 6
    Dernier message: 11/02/2009, 03h47
  3. Réponses: 2
    Dernier message: 25/10/2007, 09h41
  4. Gestion des chemins des images avec une base de données...
    Par Nean dans le forum Bases de données
    Réponses: 4
    Dernier message: 27/07/2005, 08h08
  5. problème avec ma base de données
    Par pmboutteau dans le forum ASP
    Réponses: 6
    Dernier message: 25/02/2005, 12h59

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