Problème suppression accents [RESOLU] - PHP - Programmation
Marsh Posté le 21-12-2009 à 17:04:28
fais une recherche sur le forum, c'est un topic qui tombe 2/3 fois par mois
Marsh Posté le 21-12-2009 à 17:24:32
J'ai déjà regardé les autres mais c'est pas pour autant que j'ai résolu mon problème
Marsh Posté le 21-12-2009 à 17:32:39
ta mal regardé, meme dans la page n°1 du thread php, y'as le meme type de problème et en plus avec des reponses
Marsh Posté le 21-12-2009 à 18:18:07
Ptète que les réponses ne m'ont pas aidés et que c'est pour ça que je post ici
Marsh Posté le 22-12-2009 à 08:43:12
je mettrais pas mon slip en gage mais ca ressemble à une conversion ISO -> UTF-8 le passage de é sur 2 caractères.
Marsh Posté le 22-12-2009 à 20:24:09
Pourtant j'enregistre tout en utf-8 sans bom et l'encodage de la page est en utf-8
Marsh Posté le 22-12-2009 à 23:07:59
Tu peux faire un écho juste avant de passer ton message par le strtr() ?
----Hors-sujet----
Tiens, c'est marrant cette fonction extract(), je connaissais pas. C'est pas un poil dangereux, à l'instar des register_globals & cie ?
N'importe qui peut affecter la variable de son choix en validant un formulaire bidon avec des parametres POST supplémentaires...
edit : bon ok ya une gestion assez poussée des collisions au niveau des flags, mais bon...
Marsh Posté le 22-12-2009 à 23:33:40
En fait il faut un utf_decode($nom) au lieu de $nom.
http://php.net/manual/fr/function.strtr.php
Citation : |
Marsh Posté le 22-12-2009 à 23:36:41
Pascal le nain a écrit : Tu peux faire un écho juste avant de passer ton message par le strtr() ? |
moi non plus j'avais plus ou moins fait la mienne à la mano en python et php Le manque d'expérience en php, j'imagine ...
Marsh Posté le 23-12-2009 à 09:33:48
Merci pour vos réponses mais comme un con j'avais oublié que j'avais désactivé js et du coup impossible de poster
Alors dans l'ordre.
@Pascal le nain : Quand je fais un echo de $nom avant le passage par strtr() ça donne ce que j'ai tapé. Ex: pépé => pépé
Pour ton commentaire sur la fonction extract(), je sais pas si c'est dangereux, je ne connais pas encore les register_globals J'vais essayer de me renseigner
@philippe06 : En mettant utf8_decode ça marche impec. En revanche je comprends pas trop pourquoi je dois utiliser cette fonction puisque je précise dans le charset que j'utilise l'utf-8, et qu'en plus j'enregistre mon document en utf-8 sans BOM
Néanmoins merci à vous deux
Edit: Après une recherche sur php.net sur les register_globals je tombe là-dessus:
Citation : Cette fonctionnalité est OBSOLETE depuis PHP 5.3.0 et a étéSUPPRIMEE depuis PHP 6.0.0. Nous vous encourageons vivementà ne plus l'utiliser. |
Marsh Posté le 23-12-2009 à 10:33:36
PHP6 n'est pas encore sorti. Tous les serveurs sont encore en 5.3.0 ou inférieur.
Le register_globals est désactivé par défaut dans une grosse majorité, mais attention quand même.
Tu utilises la fonction extract() qui n'a rien à voir avec les register_globals mais présente les mêmes dangers si tu n'ajoutes aucun flags.
Un peu de doc : http://php.net/manual/fr/function.extract.php
Lis bien l'avertissement sur les dangers de cette fonction.
Tu peux très bien t'en passer et faire un code safe...
Marsh Posté le 23-12-2009 à 10:39:14
c'est parce que les fontion str ne fonctionne qu'en ANSI, si tu faire nativement avec de l'utf-8 faut utilisé mb_string
Marsh Posté le 21-12-2009 à 16:57:40
Bonsoir
J'ai un problème assez pénible. Pour les besoins de ma galerie photo que je développe j'aimerai faire en sorte d'enlever les accents dans les noms de la galerie.
Normalement si je tape le mot pépé, ça devrait me sortir pepe. Mais là quand je tape pépé ça me sort pYopYo
Je pige pas trop, si quelqu'un peut éclairer ma lanterne, merci
Message édité par Profil supprimé le 23-12-2009 à 09:34:23