- 1
[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
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()
oujLog::dump()
dans ton contrôleur, des variables contenant les données insérées (si tu utilises jforms, faire par exemplejLog::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 ?
- 1