Disparition de caractère en PHP

Résolu/Fermé
kangouroux Messages postés 580 Date d'inscription vendredi 20 juin 2008 Statut Membre Dernière intervention 28 février 2013 - 12 févr. 2013 à 08:36
kangouroux Messages postés 580 Date d'inscription vendredi 20 juin 2008 Statut Membre Dernière intervention 28 février 2013 - 14 févr. 2013 à 09:32
Bonjour,
je me tourne vers vous aujourd'hui car j'ai un problème insoluble.

Le contexte:
Un utilisateur à publié une "fiche" sur la plateforme que j'ai développé, et tous les mots ayant des lettres accentuées (é,è,à) et les cédilles (ç) enfin les caractères spéciaux de notre langue, donc tous ces lettre ont tout simplement étaient supprimé !

Effectivement dans ma BDD les caractères ne sont pas présents ! Ni même encodés ...
Je cherche une solution à ce problème.

Pour agrandir l'incompréhension du problème :
Quand je poste exactement la même "fiche" avec les même mots, et bien les caractères spéciaux sont enregistré !

J'ai essayé de reproduire la manipulation de mon utilisateur mais impossible d'avoir le même résultat.

La seule piste que j'ai trouvé c'est que cela vient du navigateur, quand pensez vous ?
Ma page à un charset en "iso-8859-1".
Pour l'enregistrement en BDD je fait un encodage (html_entities en UTF8) est-ce que cela peut poser un problème ?

Je vous remercie par avance de vos réponses.

Sincèrement,
Julien
A voir également:

5 réponses

ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 565
12 févr. 2013 à 08:40
Je penche aussi pour un réglage côté navigateur, demande lui d'essayer avec différents navigateurs, et d'essayer de régler l'encodage sur le navigateur qui pose soucis.
0
kangouroux Messages postés 580 Date d'inscription vendredi 20 juin 2008 Statut Membre Dernière intervention 28 février 2013 37
12 févr. 2013 à 08:52
Merci pour cette réponse super rapide.
Effectivement cette solution est envisageable.

mais je cherche une solution transparente pour mes utilisateurs.
As-tu une solution ?
0
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 565
12 févr. 2013 à 08:55
Là comme ça je ne vois pas trop, si c'est le seul à rencontrer ce problème, c'est qu'il a un mauvais reglage qu'il faut réparer...
0
kangouroux Messages postés 580 Date d'inscription vendredi 20 juin 2008 Statut Membre Dernière intervention 28 février 2013 37
12 févr. 2013 à 08:58
Oui effectivement je vais devoir corriger ça avec cette utilisateur.

Mais j'aimerais quand même trouver cette erreur.

C'est plutôt handicapant pour les utilisateur qui auraient la même configuration :\

En tous cas merci beaucoup et si tu as une suggestion je suis preneur ^^
0
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 565
12 févr. 2013 à 09:05
tu peux essayer de déterminer à quel moment les mots "disparaissent", si c'est dans ton script php (ce dont je doute) ou si c'est au moment de l'inscription dans la table (chose plus probable)

regarde donc l'encodage de ta bade de données, peut être qu'il y a quelque chose à régler à ce niveau là...
0
kangouroux Messages postés 580 Date d'inscription vendredi 20 juin 2008 Statut Membre Dernière intervention 28 février 2013 37
12 févr. 2013 à 09:41
Je ne pense pas que cela puisse venir de la car quand je test avec n'importe quel autre navigateur cela fonctionne !
Bien entendu j'ai que les dernière version des navigateurs ...

Mon utilisateur utilise une vieille version de IE. Je pensai que cela venait de ça ?!?!

Je vais toutes fois regarder si cela vient de sa configuration ou de ma plateforme (PHP ou SQL) ...

Si jamais tu as d'autres idées ??
0
maka54 Messages postés 699 Date d'inscription mercredi 8 avril 2009 Statut Membre Dernière intervention 4 décembre 2016 80
12 févr. 2013 à 10:59
en résumé :

ta page web est en iso-8859-1

tes tables sont en latin1_swedish_ci

et tu encode tes données en utf8

c'est le merdier ... et pourquoi pas tout mettre en utf8 par exemple ?

ta page web en charset utf8

tes tables en uft8_unicode_ci

tes données, pas d'encodage a faire mais ajouter après la connexion à la base de données : SET NAMES utf8

tes pages (de code) encodé en utf8 (sans BOM)

création d'un .htaccess avec : AddDefaultCharset UTF-8
0
kangouroux Messages postés 580 Date d'inscription vendredi 20 juin 2008 Statut Membre Dernière intervention 28 février 2013 37
12 févr. 2013 à 11:19
Oui effectivement mais c'est suite à une erreur.

Je vais laisser le charset de mes page en iso-8859-1.
Mais je vais encoder en UTF8
et les table les passer en UTF8.

Histoire qu'il y ait un peut moins le merdier dans tout ça ^^

Pense tu que mon problème insoluble puisse venir de ça ?
Perso je pense plus à une configuration foireuse ??!!??
0
kangouroux Messages postés 580 Date d'inscription vendredi 20 juin 2008 Statut Membre Dernière intervention 28 février 2013 37
14 févr. 2013 à 08:35
Bonjour,
je viens de faire quelque tests.

Donc j'ai virtualiser XP sans appliquer aucune mise à jour et surprise c'est internet explorer qui supprime les caractère spéciaux ...

Je ne comprend pas pourquoi et cela se produit jusqu'à la version 8 je n'ai pas encore testé pour les versions supérieurs.

Avez-vous des suggestions ? Une idée sur ce dysfonctionnement ?
Je vous remercie d'avance pour l'aide :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kangouroux Messages postés 580 Date d'inscription vendredi 20 juin 2008 Statut Membre Dernière intervention 28 février 2013 37
14 févr. 2013 à 09:32
C'est résolu, à l'encodage et au décodage un petit flag 'ENT_QUOTES' et un petit paramettre de filtrage 'UTF-8' et c'est réglé ^^

Merci pour le coup de main,

bonne continuation à tous
0