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 :

[bug] Mais pourquoi il encode toujours.


Sujet :

MkFramework

  1. #1
    Membre confirmé Avatar de llaffont
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2007
    Messages
    701
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2007
    Messages : 701
    Points : 597
    Points
    597
    Par défaut [bug] Mais pourquoi il encode toujours.
    Bonjour,

    J'ai un problème d'encodage avec le FrameWork (BootStrap).

    J'ai une BDD en UTF-8 avec des prénoms (et leur accents).

    Lorsque mon modèle récupère les informations et que je les affiches j'obtiens les accents sous forme de caractère géométrique.

    J'ai paramétré le fichier site.ini.php avec l'encodage UTF-8 : charset=UTF-8

    Mais rien n'a changé.
    J'ai donc modifié le fichier connexion.ini.php en rajoutant ;charset=utf8 à la fin de la ligne monsite.dsn=

    Je me dis "Super ! Problème réglé." car les caractères s'affichent correctement.

    Fausse joie, le problème est toujours là car on avait un problème derrière le problème.

    En effet les caractères s'affiche correctement dans la vue, mais lorsque l'on modifie le contenu d'une ligne les accents et autres sont convertit en HTML (é devient &eacute dans la BDD.

    N'ayant pas le temps de chercher l'origine, Je me demandais si l'un de vous avait déjà rencontré ce soucis et comment le contrer.

    Merci de votre aide.
    La théorie, c'est quand on sait tout et que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.

    Ici, nous avons réuni théorie et pratique : Rien ne fonctionne... et personne ne sait pourquoi !


    Albert Einstein

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

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Oui c'est normal, c'est une mesure de sécurité pour éviter les failles xss

    Etant encodée en base de donnée en html, ce procédé évite les failles xss à l'affichage des données

    Pour éviter cet encodage automatique (avec le risque de sécurité que cela induit)
    vous pouvez, dans le fichier de configuration conf/site.ini.php

    désactiver la variable: "xss.enabled"
    Code ini : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    [security]
    ;XSRF ou CSRF,bSecuriteXSRF utilisation de jeton dans le CRUD, plus d'infos: http://fr.wikipedia.org/wiki/Cross-Site_Request_Forgeries
    ;XSS, bSecuriteXSS protection des variables GET,POST... via getParam( , plus d'infos http://fr.wikipedia.org/wiki/XSS
    xsrf.enabled=1
    xss.enabled=0
    en la passant à 0

    attention: xss et non xsrf (les deux variables se ressemblant )
    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. #3
    Membre confirmé Avatar de llaffont
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2007
    Messages
    701
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2007
    Messages : 701
    Points : 597
    Points
    597
    Par défaut
    Ok Merci ! Pour les failles XSS (c'est problématique si l'on doit faire des recherches sur les champs qui ont été convertit, il faut penser qu'ils ont été convertit)

    Mais est-ce normal de devoir modifié le fichier connexion.ini.php en rajoutant ;charset=utf8 à la fin de la ligne monsite.dsn= ?

    Merci
    La théorie, c'est quand on sait tout et que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.

    Ici, nous avons réuni théorie et pratique : Rien ne fonctionne... et personne ne sait pourquoi !


    Albert Einstein

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

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Pour le premier point, avec le fonctionnement "normal" tout est converti en base, et lorsque l'on cherche, on passe par _root::getParam qui convertit la recherche en html également, donc tout se passe bien.

    Pour le second point, je ne sais pas, je passe par un simple objet pdo, par défaut il doit reprendre la config du serveur je suppose
    Code bash : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    (sur un linux)
    locale
    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. #5
    Membre confirmé Avatar de llaffont
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2007
    Messages
    701
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2007
    Messages : 701
    Points : 597
    Points
    597
    Par défaut
    Tu avais raison c'était bien côté serveur MySQL.
    Étant actuellement dans une instance XAMPP sous Windows, Je n'ai pas exploré plus que ça la configuration.

    Pour ceux que ça intéresse : Il faut décommenter le paramètre "character_set_server=utf8" dans le fichier my.ini pour régler le problème.
    La théorie, c'est quand on sait tout et que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.

    Ici, nous avons réuni théorie et pratique : Rien ne fonctionne... et personne ne sait pourquoi !


    Albert Einstein

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

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Merci de l'information, je passe le topic en résolu
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  7. #7
    Membre confirmé Avatar de llaffont
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2007
    Messages
    701
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2007
    Messages : 701
    Points : 597
    Points
    597
    Par défaut
    Pour les Linuxien, rajouter les lignes suivantes dans le fichier /etc/my.cnf :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    default-character-set=utf8   
    character-set-server=utf8  
    skip-character-set-client-handshake  
    collation-server=utf8_unicode_ci  
    init-connect='SET NAMES utf8'  
    init_connect='SET collation_connection = utf8_general_ci'
    Puis relancer le processus mysqld
    La théorie, c'est quand on sait tout et que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.

    Ici, nous avons réuni théorie et pratique : Rien ne fonctionne... et personne ne sait pourquoi !


    Albert Einstein

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [JavaScript] [FAQ] Mais pourquoi faut-il toujours déclarer ses variables ?
    Par Auteur dans le forum Contribuez
    Réponses: 0
    Dernier message: 08/01/2009, 21h08
  2. La FAQ qui ne marche pas mais pourquoi?
    Par Antoine_1977 dans le forum Access
    Réponses: 3
    Dernier message: 27/09/2005, 17h22
  3. erreur LOOP attendu , mais pourquoi?
    Par ahage4x4 dans le forum ASP
    Réponses: 10
    Dernier message: 23/05/2005, 17h22
  4. Mais pourquoi ... Avec IE les tableaux sont décentrés ?
    Par nebule dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 26/11/2004, 11h04
  5. [Execution] qtintf70.dll Mais pourquoi?
    Par Pedro dans le forum EDI
    Réponses: 4
    Dernier message: 03/06/2004, 14h23

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