Mamat Posté 25 Juin 2005 Posté 25 Juin 2005 (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é 25 Juin 2005 par Mamat
Ganf Posté 25 Juin 2005 Posté 25 Juin 2005 - 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, ...
Mamat Posté 25 Juin 2005 Auteur Posté 25 Juin 2005 Et est-ce que cela supose après de pouvoir faire des recherches simples sans se soucier des caractères ?
Xethorn Posté 26 Juin 2005 Posté 26 Juin 2005 (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é 26 Juin 2005 par Xethorn
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant