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

  [Opened] [force_encoding] Problème insertion données DB

Posted by overghost on 09/10/2019 14:52

Bonjour,

J'ai un contrôleur qui fait une insertion dans ma DB via un DAO. le soucis, c'est qu'il ne m'insère pas le contenu en UTF-8. (en d'autres termes il ne m'insère pas les accents) C'est le seul contrôleur où je rencontre ce problème.

Partout ailleurs ça fonctionne... Malheureusement je ne parviens pas à mettre le doigt où cela fait mal... Dans le profil, j'ai bien spécifié force_encoding = on mais cela n'aide pas...

Quelqu'un a-t-il déjà rencontré ce type de soucis?

J'utilise JELIX 1.6.23 et au niveau de mon environnement j'utilise apache 2.4.35 et php 7.2.11 et mysql 5.7.24 Est-ce que quelqu'un a déjà eu ce twist et a trouvé la solution? J'ai bien fait une recherche sur le forum mais je n'ai pas trouvé ce dont j'avais besoin...

j'avoue que c'est très bizarre que j'ai ça juste sur un controlleur...

tous mes fichiers sont en utf-8... bonne journée à vous,


Seb

  [Opened] [force_encoding] Problème insertion données DB

Reply #1 Posted by laurentj on 09/11/2019 14:29

Bonjour,

Quelques pistes de recherche :

  • vérifier l'encodage dans la page web dans le navigateur (menu contextuel -> informations sur la page, dans Firefox). Si elle n'est pas en UTF-8, les données du formulaire ne seront pas en UTF-8.
  • vérifier l'encodage spécifié pour la table et les champs incriminés dans mysql.
  • faire des jLog::log() ou jLog::dump() dans ton contrôleur, des variables contenant les données insérées (si tu utilises jforms, faire par exemple jLog::dump($form->getAllData()))
  • est ce que tu manipules les données avec les fonctions de chaines de bases (remplacement, découpage etc, avec substr etc) au lieu d'utiliser les fonctions m_bstring ?
 
Page
  1. [force_encoding] Problème insertion données DB