Insertion : problème avec les accents

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Insertion : problème avec les accents

par supercanard » 22 déc. 2006, 16:10

Oki merci pour l'explication :wink:

par Ryle » 22 déc. 2006, 16:03

C'est conseillé de l'appliquer uniquement si tu as besoin de supprimer les anti-slash d'une chaîne :)

Par exemple, par défaut, php va protéger les apostrophes des données reçues : " l'autre " devient " l\'autre ", ce qui est très pratique pour l'insérer dans une base mysql, puisque plus besoin de le faire.
En revanche, si tu utilises oracle (ou mysqli il me semble) pour protéger une apostrophe, il faut la doubler : " l''autre "

Dans ce cas, il te faut bien supprimer les anti-slash qui ont été ajoutés par php, et ensuite faire un remplacement pour doubler les apostrophes...

mais si c'est juste pour la déco et avoir un mot de plus en couleur dans le code, c'est peut être pas la peine de l'utiliser... ca ne ferait que rendre ton code un peu plus lent :)

par supercanard » 22 déc. 2006, 15:54

C'etait bien ça le problème. Sans mes base j'étais en UTF et en iso 8859-1 dans mes entêtes.

Par contre je voudrais revenir sur stripslashes.
C'est conseillé de l'appliquer avant d'enregistrer les données ou uniquement si l'on rencontre des problèmes particulier ? :roll:

par fgranjon » 22 déc. 2006, 15:12

Je trouve ca assez pénible les problèmes de charset :(

Sinon comme le disais @Arthur , c'est que ta base de donnée n'utilise pas le même charset que ton serveur web .

Dommage qu'il n'y ai de solution miracle pour résoudre ces problèmes.

(A titre d'info si tu utilises apache , dans le fichier de configuration httpd.conf ou
apache2.conf suivant ta distribution) , il y a une ligne intitulé
AddDefaultCharset [charset]

ou [charset] peux valoir UTF-8 ou ISO-xxxx-x etc..

par @rthur » 22 déc. 2006, 14:46

C'est un problème de jeu de caractère.
Teste UTF8 ou ISO_8859-1 dans ton entete de page HTML

Insertion : problème avec les accents

par supercanard » 22 déc. 2006, 13:33

Bonjour,
J'ai un petit soucis d'accent lorsque j'insère dans ma base.

Par exmple él'autre deviens : titre �l\'autre

Le slash c'est normal puisque j'ai mis un addslashes qui n'est dailleurs peut être pas utile ? :roll:

Pour les accents je ne comprend pas... Quelqun as une idée ?

Joyeuses fêtes à tous :wink: