Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] Jelix 1.1 - Accent via dao

Posted by yamsuz on 12/18/2008 08:59

Bonjour à tous,

Je suis face à un problème qui a été déjà exposé plusieurs fois, mais j'ai pas trouvé la solution dans le forum.

Une fois de plus, voici le problème avec le charset.

Je travaille sous Windows XP, mes fichiers de configuration de jelix travaille sous le charset (defaultconfig)

 charset = "ISO-8859-1"

Dans le DAO

 <?xml version="1.0" encoding="UTF-8"?>

mais j'ai essayé (sans résoudre le problème)

 <?xml version="1.0" encoding="ISO-8859-1"?>

Dans mon fichier de configuration de la base de donnée dbprofil j'ai mis

 force_encoding = on

Voici le problème, j'ai des champs que j'enregistre via de l'ajax, je récupère les données dans mon controleur sans problème avec mes accents, j'utilise les méthodes insert et update du DAO, mais il enregistre dans la base de donnée é pour un é

Je vois bien le problème (le charset), mais je ne vois pas comment le résoudre.

Par contre je n'ai pas le problème si j'enregistre les informations par un jForm

  [Opened] Re: Jelix 1.1 - Accent via dao

Reply #1 Posted by laurentj on 12/18/2008 10:11

Salut,

<?xml version="1.0" encoding="ISO-8859-1"?>

Ça ne va absolument rien changer au niveau des données. Cet aspect spécifie le charset pour le fichier XML, ça influence donc juste la lecture du fichier XML. Cela n'influence pas la lecture ou l'enregistrement des données gérés par jDao.

Regarde plutôt dans ta base de donnée comment sont enregistrées tes données. Est ce que le charset dans lequel elles sont enregistrées correspond bien au charset indiqué sur le champs ou la table mysql/pgsql. Est ce que tu n'aurais pas changé en cours de route force_encoding ou le charset indiqué dans Jelix, et dans ce cas, les données en base de données ont été mal enregistrée et donc tu vois toujours le problème malgré les paramètres correctes.

Regarde aussi la configuration de mysql.

Petite aparté : faut arrêter d'utiliser ISO-8859-1 et consort. Ce sont vraiment des charset obsolètes, et il vaut mieux utiliser un encodage moderne, universel, et pérenne dans le temps : UTF-8.

  [Opened] Re: Jelix 1.1 - Accent via dao

Reply #2 Posted by manooweb on 12/18/2008 15:35

Salut, on butte on début avec çà surtout lorsque l'on reprend un vieux site :D

Remet bien tout en UTF-8, connexion via phpmyadmin et dans le schema de ta base de données pour ne pas avoir de mauvaise surprise lors de (dé)chargements de masse (export/import). Ton éditeur de texte aussi (si t'es pas sous linux) choisir UTF-8 sans bom.

Pour la base de prod je l'ai recréé carrément après sauvegarde et j'ai réinjecté les données.


Manu

  [Opened] Re: Jelix 1.1 - Accent via dao

Reply #3 Posted by yamsuz on 12/19/2008 17:39

Génial,

Je vous remercie, c'est vrai que ça marche mieux.

Un grand merci à vous deux.

 
Page
  1. Jelix 1.1 - Accent via dao