Formulaire html Fontionne une fois enregistré en php les caractè

Fermé
traderpierre Messages postés 291 Date d'inscription mercredi 11 octobre 2006 Statut Membre Dernière intervention 6 janvier 2024 - 16 juil. 2015 à 19:24
animostab Messages postés 2829 Date d'inscription jeudi 10 mars 2005 Statut Membre Dernière intervention 11 novembre 2019 - 17 juil. 2015 à 13:52
Bonjour,

SOS
Au secours, je m'arrache les cheveux !!!

Je suis sous PHP 5.6.6 chez OVH

J'ai créé un formulaire avec webFormPro

Le formulaire html transmets bien les données à Mysql et dans ma table (accès avec le MyAdmin de OVH) les caractères accentués sont bien respectés.

Ce même fichier formulaire, dans dreamweaver, je l'enregistre au format php dans le but d'y intégréer des variables d'environnement (adresse ip etc que je ne peux récupérer en étant en restant en html)
là plus rien ne va, les données sont bien transmises à MYSql mais dans ma table MysSql (toujours avec avvès MyDamin d'ovh) tous les cractères accentués sont remplacés par des caractères ésotériques syle é à la place du é, etc....

Cette même ligne envoyée avec le formulaire au format PHP, lorsque je le la lis avec la page admin.php développée par webFormPro, les champs comportant des cractères accentués sont corrects.

Par contre la ligne envoyée avec le même formulaire au format html tous les champs comporant des caractères accentués sont vides.

Alors que cette ligne envoyée avec le forulaire au Format HTML avec le MyAdmin de OVH dans la table tous les cractères sont ok.

Avez vous une idée du problème. C'est pire qu'un casse tête chinois !!!

Merci par avance pour vos réponses
A voir également:

3 réponses

animostab Messages postés 2829 Date d'inscription jeudi 10 mars 2005 Statut Membre Dernière intervention 11 novembre 2019 738
16 juil. 2015 à 21:02
Salut
ca doit sans doute venir de dreamweaver qui encode automatiquement en iso-8859-1 alors que ta page et ta table sont en utf-8 (ou le contraire)
donc verifie dans DW si il y a une option d'encodage pour ton projet et si elle correspond au charset de la page et à l'encodage de la table sql
en tout cas c'est un problème d'encodage
0
traderpierre Messages postés 291 Date d'inscription mercredi 11 octobre 2006 Statut Membre Dernière intervention 6 janvier 2024 6
16 juil. 2015 à 22:41
Bonsoir,
Merci pour ta réponse.
Mais ce n'est pas cela.
J'ai bien vérifiié en éditant mon formulaire dans l'appli WebFormPro de paramétrer l'encodage en iso-8859-1.
Car toutes mes pages développées sous Dreamweaver sont en charset iso-8859-1.
ça vient pas de là.
Je devient fou avec ce problème !!!
0
traderpierre Messages postés 291 Date d'inscription mercredi 11 octobre 2006 Statut Membre Dernière intervention 6 janvier 2024 6
16 juil. 2015 à 22:58
En réalité si c'est un formulaire fichier html qui transmets les données l'encodage est bon.

Le même formulaire fichier enregistré au format PHP il transmet les données avec un encodage différents, aucun caractères accentué n'est correct.
0
animostab Messages postés 2829 Date d'inscription jeudi 10 mars 2005 Statut Membre Dernière intervention 11 novembre 2019 738
Modifié par animostab le 17/07/2015 à 04:43
Bon déjà html ne peux pas transmettre des données à une bdd, donc il y a du php quelque part (la page de traitement) donc voir la page qui correspond à
<form method="post" action="page-de-traitement.php" .....
il y a t'il un traitement des $_POST qui passe par html_entity_decode ?
la base de donnée et la table est elle en latin-1 ?
pense que pour la version 5.6 de php le charset par défaut est utf-8
de toute façon le problème est un problème d'encodage charset
dans la page de traitement avant tout code essaie ca
<?php header('Content-Type: charset=ISO-8859-1'); ?>


perso et pour la plupart des sites web il y a longtemps que la majorité est passée en utf-8 car aucun besoin d'encoder les caractères spéciaux, c'est international, c'est plus simple.
il existe des petit script en php pour ré-encoder tous les fichiers d'un dossier en utf-8
il suffit juste ensuite de rechercher remplacer le charset dans le projet
je serais toi je profiterais de ce problème pour passer en utf-8
https://forum.phpfrance.com/vos-contributions/utf8izer-pour-convertir-utf-tous-les-fichiers-iso-dossier-t244096.html
0
animostab Messages postés 2829 Date d'inscription jeudi 10 mars 2005 Statut Membre Dernière intervention 11 novembre 2019 738
17 juil. 2015 à 04:52
0
traderpierre Messages postés 291 Date d'inscription mercredi 11 octobre 2006 Statut Membre Dernière intervention 6 janvier 2024 6
17 juil. 2015 à 11:14
Merci pour l'info,
Effectivement WebFormPro Génére des fichiers PHP
Un fichier Process qui transmet l'info à la bdd
Un fichier admin qui pernet de visualiser la table et d'exporter les données en différents formats.
J'ai configuré toute la base de données et les champs des tables en Latin1_general_cs
Mais je peux changer en utf-8.
Mais avec utf-8, Est-ce que mes caractères conserveront leurs accents initial ???
Dans ce cas je n'aurais pas besoin d'incorporer cette ligne
<?php header('Content-Type: charset=ISO-8859-1'); ?>
Dis moi si c'est le cas.

Je te tiens informé du suivi
0
animostab Messages postés 2829 Date d'inscription jeudi 10 mars 2005 Statut Membre Dernière intervention 11 novembre 2019 738
17 juil. 2015 à 13:52
plus besoin d'incorporer la ligne si c'est en utf-8
donc
pour passer en utf-8
- configurer tes logiciel pour l'utf-8 (DW etc ..)
- executer le script de convertion utf-8 (uft8izer) en conservant quand même une copie sauvegarde en local de l'iso
- convertir tes tables bdd et leur contenu (champs) en utf-8 dans phpmyadmin (ca c'est le truc qui pose des fois problème)
donc fais des test en local et utilise un serveur (local) avec php 5.6 puisque c'est la version de ton hebergeur
0