Bonjour, j'ai un soucis : un de mes champs $_POST[] contient du HTML.
Si j'écris directement les données en question, les caractères spéciaux
(accents et autres) sont stockés en 8bits au lieu d'utiliser les entities
(et je ne peux pas intervenir sur ce point).
Le problème c'est que si j'utilise htmlentities() ou htmlspecialchars()
tous les symboles < et > utilisés dans les balises sont également
convertis.
Donc, comment puis-je traiter un fichier HTML contenant des caractères
spéciaux non encodés sans altérer les balises ??
A part repasser derrière htmlentities et remplacer les version encodées de
< et > ?
J'ai pas trouvé d'autre solution (et même pas testé celle ci)...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Guillaume Bouchard
Zouplaz wrote:
Bonjour, j'ai un soucis : un de mes champs $_POST[] contient du HTML.
Si j'écris directement les données en question, les caractères spéciaux (accents et autres) sont stockés en 8bits au lieu d'utiliser les entities (et je ne peux pas intervenir sur ce point).
Ou est le problème ?
Donc, comment puis-je traiter un fichier HTML contenant des caractères spéciaux non encodés sans altérer les balises ??
L'encodage de ta page n'est pas sensé geré cela de façon correct à lui tout seul ?
Je n'ia jamais rien fait (et jamais rien eu à faire) pour que mes accents fonctionne, il suffit de positioner un bon Content-Type et le tour est joué.
-- Guillaume.
Zouplaz wrote:
Bonjour, j'ai un soucis : un de mes champs $_POST[] contient du HTML.
Si j'écris directement les données en question, les caractères spéciaux
(accents et autres) sont stockés en 8bits au lieu d'utiliser les entities
(et je ne peux pas intervenir sur ce point).
Ou est le problème ?
Donc, comment puis-je traiter un fichier HTML contenant des caractères
spéciaux non encodés sans altérer les balises ??
L'encodage de ta page n'est pas sensé geré cela de façon correct à lui
tout seul ?
Je n'ia jamais rien fait (et jamais rien eu à faire) pour que mes
accents fonctionne, il suffit de positioner un bon Content-Type et le
tour est joué.
Bonjour, j'ai un soucis : un de mes champs $_POST[] contient du HTML.
Si j'écris directement les données en question, les caractères spéciaux (accents et autres) sont stockés en 8bits au lieu d'utiliser les entities (et je ne peux pas intervenir sur ce point).
Ou est le problème ?
Donc, comment puis-je traiter un fichier HTML contenant des caractères spéciaux non encodés sans altérer les balises ??
L'encodage de ta page n'est pas sensé geré cela de façon correct à lui tout seul ?
Je n'ia jamais rien fait (et jamais rien eu à faire) pour que mes accents fonctionne, il suffit de positioner un bon Content-Type et le tour est joué.
-- Guillaume.
Zouplaz
Guillaume Bouchard - :
Zouplaz wrote:
Bonjour, j'ai un soucis : un de mes champs $_POST[] contient du HTML.
Si j'écris directement les données en question, les caractères spéciaux (accents et autres) sont stockés en 8bits au lieu d'utiliser les entities (et je ne peux pas intervenir sur ce point).
Ou est le problème ?
Et bien je suppose (mais peut-être à tort) qu'un utilisateur Anglais ou Chinois ne les verra pas...
Donc, comment puis-je traiter un fichier HTML contenant des caractères spéciaux non encodés sans altérer les balises ??
L'encodage de ta page n'est pas sensé geré cela de façon correct à lui tout seul ?
Oui mais entre la déclaration de l'encodage et le contenu réel, je suppose qu'il faut qu'il y ait une correspondance...
Et puis, dans ce cas à quoi servirait la fonction htmlentities() ?
J'comprends pas
Guillaume Bouchard - guillaume_fclp@apinc.org :
Zouplaz wrote:
Bonjour, j'ai un soucis : un de mes champs $_POST[] contient du HTML.
Si j'écris directement les données en question, les caractères
spéciaux (accents et autres) sont stockés en 8bits au lieu d'utiliser
les entities (et je ne peux pas intervenir sur ce point).
Ou est le problème ?
Et bien je suppose (mais peut-être à tort) qu'un utilisateur Anglais ou
Chinois ne les verra pas...
Donc, comment puis-je traiter un fichier HTML contenant des
caractères spéciaux non encodés sans altérer les balises ??
L'encodage de ta page n'est pas sensé geré cela de façon correct à lui
tout seul ?
Oui mais entre la déclaration de l'encodage et le contenu réel, je suppose
qu'il faut qu'il y ait une correspondance...
Et puis, dans ce cas à quoi servirait la fonction htmlentities() ?
Bonjour, j'ai un soucis : un de mes champs $_POST[] contient du HTML.
Si j'écris directement les données en question, les caractères spéciaux (accents et autres) sont stockés en 8bits au lieu d'utiliser les entities (et je ne peux pas intervenir sur ce point).
Ou est le problème ?
Et bien je suppose (mais peut-être à tort) qu'un utilisateur Anglais ou Chinois ne les verra pas...
Donc, comment puis-je traiter un fichier HTML contenant des caractères spéciaux non encodés sans altérer les balises ??
L'encodage de ta page n'est pas sensé geré cela de façon correct à lui tout seul ?
Oui mais entre la déclaration de l'encodage et le contenu réel, je suppose qu'il faut qu'il y ait une correspondance...
Et puis, dans ce cas à quoi servirait la fonction htmlentities() ?
J'comprends pas
Guillaume Bouchard
Zouplaz wrote:
Si j'écris directement les données en question, les caractères spéciaux (accents et autres) sont stockés en 8bits au lieu d'utiliser les entities (et je ne peux pas intervenir sur ce point).
Ou est le problème ?
Et bien je suppose (mais peut-être à tort) qu'un utilisateur Anglais ou Chinois ne les verra pas...
Normalement si ! Si je ne dis pas de betises, ton entitée HTML n'est en fait qu'une sorte de reference aux caractere qui va bien de l'encodage approprié (ici iso-8859-1)
Oui mais entre la déclaration de l'encodage et le contenu réel, je suppose qu'il faut qu'il y ait une correspondance...
Ba eu oui, un encodage. Si tu encode ta page en iso ou en utf, il y a une difference. En fait, tu ne vois pas la difference vu que ton editeur detecte l'encodage tout seul, mais je peut t'assurer que ton "é" sera (je dit n'importe quoi) 00101011 en iso et 0010001001 en utf-8 si tu lisais le fichier bit par bit. Après c'est au boulot du lecteur (ici le navigateur) de faire la relation entre chaques sequences de bits d'après la table de conversion que lui fournit l'encodage.
Et puis, dans ce cas à quoi servirait la fonction htmlentities() ?
Pour les cas ou tu aurais besoin d'entités html, je ne sais pas... Mais je ne m'en suis jamais servit, donc ;o)
Tu sais, il y a plein de fonctions php qui sont inutiles :) (session_* ... :p)
J'comprends pas
Apparament ton problème concerne les notions sur l'encodage de caractere, ce n'est pas du php. Je ferais bien un FU2 quelque part, mais je sais pas trop où...
-- Guillaume.
Zouplaz wrote:
Si j'écris directement les données en question, les caractères
spéciaux (accents et autres) sont stockés en 8bits au lieu d'utiliser
les entities (et je ne peux pas intervenir sur ce point).
Ou est le problème ?
Et bien je suppose (mais peut-être à tort) qu'un utilisateur Anglais ou
Chinois ne les verra pas...
Normalement si !
Si je ne dis pas de betises, ton entitée HTML n'est en fait qu'une sorte
de reference aux caractere qui va bien de l'encodage approprié (ici
iso-8859-1)
Oui mais entre la déclaration de l'encodage et le contenu réel, je suppose
qu'il faut qu'il y ait une correspondance...
Ba eu oui, un encodage. Si tu encode ta page en iso ou en utf, il y a
une difference.
En fait, tu ne vois pas la difference vu que ton editeur detecte
l'encodage tout seul, mais je peut t'assurer que ton "é" sera (je dit
n'importe quoi) 00101011 en iso et 0010001001 en utf-8 si tu lisais le
fichier bit par bit. Après c'est au boulot du lecteur (ici le
navigateur) de faire la relation entre chaques sequences de bits d'après
la table de conversion que lui fournit l'encodage.
Et puis, dans ce cas à quoi servirait la fonction htmlentities() ?
Pour les cas ou tu aurais besoin d'entités html, je ne sais pas... Mais
je ne m'en suis jamais servit, donc ;o)
Tu sais, il y a plein de fonctions php qui sont inutiles :) (session_*
... :p)
J'comprends pas
Apparament ton problème concerne les notions sur l'encodage de
caractere, ce n'est pas du php. Je ferais bien un FU2 quelque part, mais
je sais pas trop où...
Si j'écris directement les données en question, les caractères spéciaux (accents et autres) sont stockés en 8bits au lieu d'utiliser les entities (et je ne peux pas intervenir sur ce point).
Ou est le problème ?
Et bien je suppose (mais peut-être à tort) qu'un utilisateur Anglais ou Chinois ne les verra pas...
Normalement si ! Si je ne dis pas de betises, ton entitée HTML n'est en fait qu'une sorte de reference aux caractere qui va bien de l'encodage approprié (ici iso-8859-1)
Oui mais entre la déclaration de l'encodage et le contenu réel, je suppose qu'il faut qu'il y ait une correspondance...
Ba eu oui, un encodage. Si tu encode ta page en iso ou en utf, il y a une difference. En fait, tu ne vois pas la difference vu que ton editeur detecte l'encodage tout seul, mais je peut t'assurer que ton "é" sera (je dit n'importe quoi) 00101011 en iso et 0010001001 en utf-8 si tu lisais le fichier bit par bit. Après c'est au boulot du lecteur (ici le navigateur) de faire la relation entre chaques sequences de bits d'après la table de conversion que lui fournit l'encodage.
Et puis, dans ce cas à quoi servirait la fonction htmlentities() ?
Pour les cas ou tu aurais besoin d'entités html, je ne sais pas... Mais je ne m'en suis jamais servit, donc ;o)
Tu sais, il y a plein de fonctions php qui sont inutiles :) (session_* ... :p)
J'comprends pas
Apparament ton problème concerne les notions sur l'encodage de caractere, ce n'est pas du php. Je ferais bien un FU2 quelque part, mais je sais pas trop où...