Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Definir le charset des information en voye par le client

6 réponses
Avatar
Thief13
Bonjour,

Je galaire, toujours avec mes histoire de charset, j'ai tout passé en
utf8, je me suis débrouillé pour déclarer tout mes pages avec
header('Content-type: text/html; charset=UTF-8');, mais meme avec celà,
il me semble que le navigateur m'envoi les infos en iso sur une machine,
et en utf8 sur une autre, je voulais donc savoir si il était possible de
définir le charset des informations envoyé par l'utilisateur...

Merci d'avance !

6 réponses

Avatar
John GALLET
header('Content-type: text/html; charset=UTF-8');, mais meme avec celà,
il me semble que le navigateur m'envoi les infos en iso sur une machine,
et en utf8 sur une autre,


Mais pourquoi le navigateur ferait-il ce que tu lui demandes, surtout s'il
n'en est pas capable parce qu'il ne connait pas utf-8 par exemple ? S'il
est gentil et qu'il veut te faire plaisir, peut-être qu'il le fera, mais
ça s'arrête là. Forcer le charset de sortie reste utile pour gêner les
xss, mais à part ça...

je voulais donc savoir si il était possible de
définir le charset des informations envoyé par l'utilisateur...


Le jour où on pourra se passer de forcer côté serveur la validité des
informations venant depuis le client, les poules auront des dentiers.

Tu peux/dois lister explicitement la liste des caractères autorisés, afin
qu'aucun caractère non utile ne vienne te perturber, mais rien ni personne
ne pourra empêcher la terre entière de te balancer n'importe quoi, dans
n'importe quel charset.

a++;
JG

Avatar
Olivier Miakinen

Je galaire, toujours avec mes histoire de charset, j'ai tout passé en
utf8, je me suis débrouillé pour déclarer tout mes pages avec
header('Content-type: text/html; charset=UTF-8');, mais meme avec celà,
il me semble que le navigateur m'envoi les infos en iso sur une machine,
^^^^^^^^^^^^

Pour s'en assurer, il serait utile d'afficher les chaînes octet par
octet, par exemple en bouclant avec la fonction ord().

et en utf8 sur une autre, je voulais donc savoir si il était possible de
définir le charset des informations envoyé par l'utilisateur...


Si le navigateur te répond en Latin-1 quand tu lui causes en UTF-8, je
ne vois pas bien ce qu'on peut faire. Il y aurait bien la bidouille
d'envoyer une valeur fixe dans un champ hidden pour tester le résultat,
mais bon, c'est du domaine de la *grosse* bidouille.

Avatar
Thief13
header('Content-type: text/html; charset=UTF-8');, mais meme avec celà,
il me semble que le navigateur m'envoi les infos en iso sur une machine,
et en utf8 sur une autre,


Mais pourquoi le navigateur ferait-il ce que tu lui demandes, surtout s'il
n'en est pas capable parce qu'il ne connait pas utf-8 par exemple ? S'il
est gentil et qu'il veut te faire plaisir, peut-être qu'il le fera, mais
ça s'arrête là. Forcer le charset de sortie reste utile pour gêner les
xss, mais à part ça...

je voulais donc savoir si il était possible de
définir le charset des informations envoyé par l'utilisateur...


Le jour où on pourra se passer de forcer côté serveur la validité des
informations venant depuis le client, les poules auront des dentiers.

Tu peux/dois lister explicitement la liste des caractères autorisés, afin
qu'aucun caractère non utile ne vienne te perturber, mais rien ni personne
ne pourra empêcher la terre entière de te balancer n'importe quoi, dans
n'importe quel charset.

a++;
JG
Moi, mon probleme, ce n'est pas de focer un charset en particulier,

mais de déterminer le charset des cahine de caractère que m'envoi le
navigateur. je veux savoir si il m'envoi du l'utf8 ou de l'iso, pour
pouvoir traiter les caractères correctement. est ce possible ?


Avatar
Thief13
Si le navigateur te répond en Latin-1 quand tu lui causes en UTF-8, je
ne vois pas bien ce qu'on peut faire. Il y aurait bien la bidouille
d'envoyer une valeur fixe dans un champ hidden pour tester le résultat,
mais bon, c'est du domaine de la *grosse* bidouille.


Mais c'est la seul manière de savoir dans quel charset le navigateur me
cause ?

Avatar
Olivier Miakinen

Si le navigateur te répond en Latin-1 quand tu lui causes en UTF-8, je
ne vois pas bien ce qu'on peut faire. Il y aurait bien la bidouille
d'envoyer une valeur fixe dans un champ hidden pour tester le résultat,
mais bon, c'est du domaine de la *grosse* bidouille.


Mais c'est la seul manière de savoir dans quel charset le navigateur me
cause ?


Je ne sais pas si c'est la seule, mais c'en est une.

Regarde à tout hasard si tu trouves ton bonheur là-dedans :
http://64.233.183.104/search?qÊche:1zHxgxRYzQsJ:ppewww.physics.gla.ac.uk/~flavell/charset/form-i18n.html


Avatar
Thief13

Si le navigateur te répond en Latin-1 quand tu lui causes en UTF-8, je
ne vois pas bien ce qu'on peut faire. Il y aurait bien la bidouille
d'envoyer une valeur fixe dans un champ hidden pour tester le résultat,
mais bon, c'est du domaine de la *grosse* bidouille.
Mais c'est la seul manière de savoir dans quel charset le navigateur me

cause ?


Je ne sais pas si c'est la seule, mais c'en est une.

Regarde à tout hasard si tu trouves ton bonheur là-dedans :
http://64.233.183.104/search?qÊche:1zHxgxRYzQsJ:ppewww.physics.gla.ac.uk/~flavell/charset/form-i18n.html


Arf, c'estr de l'anglais trop violent, j'y arriverais pas... merci
quand même.