Aller au contenu

Encodé ou pas ?


Mamat

Sujets conseillés

Bonjour,

Je suis devant une question surement très simple pour la plus part d'entre vous : Faut-il encoder les caractères spéciaux (é, è etc...) avant l'insertion dans un champ d'une table sql, ou les laisser telquels.

Et auquel cas il faudra les encoder à l'insertion dans un champ d'une page php, mais avec quelle fonction ? Je m'y perds un peu...

Merci pour vos réponses d'avance ;oD

Modifié par Mamat
Lien vers le commentaire
Partager sur d’autres sites

- Tu échappes avec une fonction spécifique SQL quand tu envoies dans la bdd (ça peut être addslashes, mysql_real_escape_string ou d'autres)

- Tu échappes avec htmlspecialchars ou htmlentities quand tu envoies ton html

Tu ne devrais pas échapper le html avant insertion en base. Tu risquerais de te retrouver avec des problèmes sur les contraintes de taille, avec des problèmes si tu veux utiliser tes données ailleurs que dans du html, ...

Lien vers le commentaire
Partager sur d’autres sites

Et est-ce que cela supose après de pouvoir faire des recherches simples sans se soucier des caractères ?

Lien vers le commentaire
Partager sur d’autres sites

L'encodage est inutile avec une base de données. Tes données peuvent être par la suite utilisées dans un document qui ne nécessite pas son passage en entitées html (par exemple : si tu veux générer automatiquement un document au format text/plain).

Le mieux est d'enregistrer sous format brut (non modifié [1]), et de trier les informations une fois qu'elles sont sélectionnées dans la base de données.

[1] : il est pratique d'enregistrer sous deux formats : le format brut et le format codé (pour un gain en rapidité : cette technique échappe le parsing des informations).

Modifié par Xethorn
Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...