Aller au contenu

Sujets conseillés

Posté (modifié)

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
Posté

- 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, ...

Posté

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

Posté (modifié)

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

Veuillez vous connecter pour commenter

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



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