Soit des pages initialement en iso-8859-1 (et je ne dois pas le changer)
avec un formulaire ou l'on écrit le symbole Euro "¤" dans certains champs.
Certains champs se remplissent "automatiquement" par un petit script
Javascript. Ainsi, je recopie par exemple la valeur entrée dans le premier
champ dans certains champs. Il se trouve que c'est, des fois des montants
en Euro qu'il faut "recopier", et ce avec le symbole ¤.
Cela se fait normalement.
Je récupère ces valeurs, et les écris dans une base de donnée MySQL, le tout
en PHP.
Quand je passe en mode verbeux, et que je demande au script PHP d'afficher
la requete d'UPDATE/INSERT, alors il se trouve que le symbole ¤ est bien
affiché.
Mais du prompt mySQL, quand je visionne l'enregistrement fraichement inséré,
horreur! j'ai le code HTML du symbole ¤ (€)
Comment savoir, lequel des éléments mis en oeuvre à utilisé/transformé
en "€" ?
Ca peut être:
- le script Javascript
- le script PHP
Le souci c'est que quand je dis à PHP d'afficher la requete d'insertion ou
d'update, il m'affiche ça dans mon navigateur (Konqueror). Mon navigateur,
si il rencontre "€", il ne l'affiche pas brut, il transforme en ¤. Je
ne peux donc pas savoir si ¤ est passé en tant que "€" ou autre chose
à PHP.
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
Olivier Miakinen
Soit des pages initialement en iso-8859-1 (et je ne dois pas le changer) avec un formulaire ou l'on écrit le symbole Euro "¤" dans certains champs.
Bien. Ce sera donc forcément sous forme d'entité (€) ou de référence numérique (€ ou €) puisque ce caractère n'appartient pas à iso-8859-1.
Certains champs se remplissent "automatiquement" par un petit script Javascript. Ainsi, je recopie par exemple la valeur entrée dans le premier champ dans certains champs. Il se trouve que c'est, des fois des montants en Euro qu'il faut "recopier", et ce avec le symbole ¤. Cela se fait normalement.
Je récupère ces valeurs, et les écris dans une base de donnée MySQL, le tout en PHP. Quand je passe en mode verbeux, et que je demande au script PHP d'afficher la requete d'UPDATE/INSERT, alors il se trouve que le symbole ¤ est bien affiché.
Dans quel jeu de caractères ? iso-8859-1 ? cp1252 ? Si tu le fais afficher via un navigateur, qu'y a-t-il quand tu visualises le code source de la page ?
Mais du prompt mySQL, quand je visionne l'enregistrement fraichement inséré, horreur! j'ai le code HTML du symbole ¤ (€)
Comment ça, « horreur » ? Puisque c'est le seul moyen.
Comment savoir, lequel des éléments mis en oeuvre à utilisé/transformé en "€" ? Ca peut être: - le script Javascript - le script PHP
- le navigateur qui doit transmettre un caractère n'appartenant pas au jeu déclaré
Le souci c'est que quand je dis à PHP d'afficher la requete d'insertion ou d'update, il m'affiche ça dans mon navigateur (Konqueror). Mon navigateur, si il rencontre "€", il ne l'affiche pas brut, il transforme en ¤.
Voir le code source (Ctrl+U dans Mozilla ou FireFox).
Je ne peux donc pas savoir si ¤ est passé en tant que "€" ou autre chose à PHP.
Tu peux aussi faire une boucle en PHP pour afficher les codes numériques de chaque octet composant une chaîne.
Soit des pages initialement en iso-8859-1 (et je ne dois pas le changer)
avec un formulaire ou l'on écrit le symbole Euro "¤" dans certains champs.
Bien. Ce sera donc forcément sous forme d'entité (€) ou de
référence numérique (€ ou €) puisque ce caractère
n'appartient pas à iso-8859-1.
Certains champs se remplissent "automatiquement" par un petit script
Javascript. Ainsi, je recopie par exemple la valeur entrée dans le premier
champ dans certains champs. Il se trouve que c'est, des fois des montants
en Euro qu'il faut "recopier", et ce avec le symbole ¤.
Cela se fait normalement.
Je récupère ces valeurs, et les écris dans une base de donnée MySQL, le tout
en PHP.
Quand je passe en mode verbeux, et que je demande au script PHP d'afficher
la requete d'UPDATE/INSERT, alors il se trouve que le symbole ¤ est bien
affiché.
Dans quel jeu de caractères ? iso-8859-1 ? cp1252 ? Si tu le fais
afficher via un navigateur, qu'y a-t-il quand tu visualises le code
source de la page ?
Mais du prompt mySQL, quand je visionne l'enregistrement fraichement inséré,
horreur! j'ai le code HTML du symbole ¤ (€)
Comment ça, « horreur » ? Puisque c'est le seul moyen.
Comment savoir, lequel des éléments mis en oeuvre à utilisé/transformé
en "€" ?
Ca peut être:
- le script Javascript
- le script PHP
- le navigateur qui doit transmettre un caractère n'appartenant pas au
jeu déclaré
Le souci c'est que quand je dis à PHP d'afficher la requete d'insertion ou
d'update, il m'affiche ça dans mon navigateur (Konqueror). Mon navigateur,
si il rencontre "€", il ne l'affiche pas brut, il transforme en ¤.
Voir le code source (Ctrl+U dans Mozilla ou FireFox).
Je ne peux donc pas savoir si ¤ est passé en tant que "€" ou autre
chose à PHP.
Tu peux aussi faire une boucle en PHP pour afficher les codes numériques
de chaque octet composant une chaîne.
Soit des pages initialement en iso-8859-1 (et je ne dois pas le changer) avec un formulaire ou l'on écrit le symbole Euro "¤" dans certains champs.
Bien. Ce sera donc forcément sous forme d'entité (€) ou de référence numérique (€ ou €) puisque ce caractère n'appartient pas à iso-8859-1.
Certains champs se remplissent "automatiquement" par un petit script Javascript. Ainsi, je recopie par exemple la valeur entrée dans le premier champ dans certains champs. Il se trouve que c'est, des fois des montants en Euro qu'il faut "recopier", et ce avec le symbole ¤. Cela se fait normalement.
Je récupère ces valeurs, et les écris dans une base de donnée MySQL, le tout en PHP. Quand je passe en mode verbeux, et que je demande au script PHP d'afficher la requete d'UPDATE/INSERT, alors il se trouve que le symbole ¤ est bien affiché.
Dans quel jeu de caractères ? iso-8859-1 ? cp1252 ? Si tu le fais afficher via un navigateur, qu'y a-t-il quand tu visualises le code source de la page ?
Mais du prompt mySQL, quand je visionne l'enregistrement fraichement inséré, horreur! j'ai le code HTML du symbole ¤ (€)
Comment ça, « horreur » ? Puisque c'est le seul moyen.
Comment savoir, lequel des éléments mis en oeuvre à utilisé/transformé en "€" ? Ca peut être: - le script Javascript - le script PHP
- le navigateur qui doit transmettre un caractère n'appartenant pas au jeu déclaré
Le souci c'est que quand je dis à PHP d'afficher la requete d'insertion ou d'update, il m'affiche ça dans mon navigateur (Konqueror). Mon navigateur, si il rencontre "€", il ne l'affiche pas brut, il transforme en ¤.
Voir le code source (Ctrl+U dans Mozilla ou FireFox).
Je ne peux donc pas savoir si ¤ est passé en tant que "€" ou autre chose à PHP.
Tu peux aussi faire une boucle en PHP pour afficher les codes numériques de chaque octet composant une chaîne.
ASM
Bonjour,
Soit des pages initialement en iso-8859-1 (et je ne dois pas le changer) avec un formulaire ou l'on écrit le symbole Euro "¤" dans certains champs.
"On" ... qui ça ? le visiteur ? si oui, comment s'y prend-il ? si non, par quoi est-ce écrit ? - en clair dans le code html ? - javascript ? - php ?
Ecrire '12 ¤' dans un champ de texte :
si c'est en JS : document.monForm.monText.value = 12 + ' u20ac';
si en HTML : <input name=montext value="12 €"> ou : <input name=montext value="12 €">
si en php, pareil qu'en html ? echo '<input name=montext value="'.12.' €">';
Certains champs se remplissent "automatiquement" par un petit script Javascript.
Dans ce cas pour 'euro' utiliser le code unicode de remplacement : u20ac <http://www.miakinen.net/vrac/charsets/?hv=h&o6=MacRoman&or=3&pr4> exemple : http://stephane.moriaux.perso.wanadoo.fr/truc/gloops_asm.htm
Je récupère ces valeurs, et les écris dans une base de donnée MySQL, le tout en PHP.
Là il faut voir à voir ce qu'en fait le brouteur. (je suppose que c'est "récupéré" par l'envoi du formulaire ?)
Quand je passe en mode verbeux, et que je demande au script PHP d'afficher la requete d'UPDATE/INSERT, alors il se trouve que le symbole ¤ est bien affiché.
Mais du prompt mySQL, quand je visionne l'enregistrement fraichement inséré, horreur! j'ai le code HTML du symbole ¤ (€)
Oui, et alors ? c'est l'html-entité numérique, celle entité-html verbeuse sera '&euro'
Comment savoir, lequel des éléments mis en oeuvre à utilisé/transformé en "€" ? Ca peut être: - le script Javascript
certainement pas
- le script PHP
ou bêtement le brouteur qui escape() le code récupéré dans la valeur de l'input ?
Le souci c'est que quand je dis à PHP d'afficher la requete d'insertion ou d'update, il m'affiche ça dans mon navigateur (Konqueror).
Heu il n'y a pas que Konkeror au monde ... ! ?
Mon navigateur Firefox, pour '¤' trouvé dans un textarea ou un input renvoie : '%80' qui est le code hexadecimal du charset Windows (CP1252) (revoir le lien donné ci-avant des tables de caractères)
tu n'es pas sorti de l'auberge là ... !
Mon navigateur, si il rencontre "€", il ne l'affiche pas brut, il transforme en ¤.
Normal.
Je ne peux donc pas savoir si ¤ est passé en tant que "€" ou autre chose à PHP.
Des idées?
y a pas une 'tite fonction PHP de traduction des html-entités en PHP ? genre : htmlentity(blabla)
-- Stephane Moriaux et son (moins) vieux Mac déjà dépassé
Bonjour,
Soit des pages initialement en iso-8859-1 (et je ne dois pas le changer)
avec un formulaire ou l'on écrit le symbole Euro "¤" dans certains champs.
"On" ... qui ça ? le visiteur ?
si oui, comment s'y prend-il ?
si non, par quoi est-ce écrit ?
- en clair dans le code html ?
- javascript ?
- php ?
Ecrire '12 ¤' dans un champ de texte :
si c'est en JS :
document.monForm.monText.value = 12 + ' u20ac';
si en HTML :
<input name=montext value="12 €">
ou :
<input name=montext value="12 €">
si en php, pareil qu'en html ?
echo '<input name=montext value="'.12.' €">';
Certains champs se remplissent "automatiquement" par un petit script
Javascript.
Dans ce cas pour 'euro' utiliser le code unicode de remplacement :
u20ac
<http://www.miakinen.net/vrac/charsets/?hv=h&o6=MacRoman&or=3&pr4>
exemple :
http://stephane.moriaux.perso.wanadoo.fr/truc/gloops_asm.htm
Je récupère ces valeurs, et les écris dans une base de donnée MySQL, le tout
en PHP.
Là il faut voir à voir ce qu'en fait le brouteur.
(je suppose que c'est "récupéré" par l'envoi du formulaire ?)
Quand je passe en mode verbeux, et que je demande au script PHP d'afficher
la requete d'UPDATE/INSERT, alors il se trouve que le symbole ¤ est bien
affiché.
Mais du prompt mySQL, quand je visionne l'enregistrement fraichement inséré,
horreur! j'ai le code HTML du symbole ¤ (€)
Oui, et alors ?
c'est l'html-entité numérique,
celle entité-html verbeuse sera '&euro'
Comment savoir, lequel des éléments mis en oeuvre à utilisé/transformé
en "€" ?
Ca peut être:
- le script Javascript
certainement pas
- le script PHP
ou bêtement le brouteur qui escape() le code récupéré dans la valeur de
l'input ?
Le souci c'est que quand je dis à PHP d'afficher la requete d'insertion ou
d'update, il m'affiche ça dans mon navigateur (Konqueror).
Heu il n'y a pas que Konkeror au monde ... ! ?
Mon navigateur Firefox,
pour '¤' trouvé dans un textarea ou un input renvoie : '%80'
qui est le code hexadecimal du charset Windows (CP1252)
(revoir le lien donné ci-avant des tables de caractères)
tu n'es pas sorti de l'auberge là ... !
Mon navigateur,
si il rencontre "€", il ne l'affiche pas brut, il transforme en ¤.
Normal.
Je
ne peux donc pas savoir si ¤ est passé en tant que "€" ou autre chose
à PHP.
Des idées?
y a pas une 'tite fonction PHP de traduction des html-entités en PHP ?
genre : htmlentity(blabla)
Soit des pages initialement en iso-8859-1 (et je ne dois pas le changer) avec un formulaire ou l'on écrit le symbole Euro "¤" dans certains champs.
"On" ... qui ça ? le visiteur ? si oui, comment s'y prend-il ? si non, par quoi est-ce écrit ? - en clair dans le code html ? - javascript ? - php ?
Ecrire '12 ¤' dans un champ de texte :
si c'est en JS : document.monForm.monText.value = 12 + ' u20ac';
si en HTML : <input name=montext value="12 €"> ou : <input name=montext value="12 €">
si en php, pareil qu'en html ? echo '<input name=montext value="'.12.' €">';
Certains champs se remplissent "automatiquement" par un petit script Javascript.
Dans ce cas pour 'euro' utiliser le code unicode de remplacement : u20ac <http://www.miakinen.net/vrac/charsets/?hv=h&o6=MacRoman&or=3&pr4> exemple : http://stephane.moriaux.perso.wanadoo.fr/truc/gloops_asm.htm
Je récupère ces valeurs, et les écris dans une base de donnée MySQL, le tout en PHP.
Là il faut voir à voir ce qu'en fait le brouteur. (je suppose que c'est "récupéré" par l'envoi du formulaire ?)
Quand je passe en mode verbeux, et que je demande au script PHP d'afficher la requete d'UPDATE/INSERT, alors il se trouve que le symbole ¤ est bien affiché.
Mais du prompt mySQL, quand je visionne l'enregistrement fraichement inséré, horreur! j'ai le code HTML du symbole ¤ (€)
Oui, et alors ? c'est l'html-entité numérique, celle entité-html verbeuse sera '&euro'
Comment savoir, lequel des éléments mis en oeuvre à utilisé/transformé en "€" ? Ca peut être: - le script Javascript
certainement pas
- le script PHP
ou bêtement le brouteur qui escape() le code récupéré dans la valeur de l'input ?
Le souci c'est que quand je dis à PHP d'afficher la requete d'insertion ou d'update, il m'affiche ça dans mon navigateur (Konqueror).
Heu il n'y a pas que Konkeror au monde ... ! ?
Mon navigateur Firefox, pour '¤' trouvé dans un textarea ou un input renvoie : '%80' qui est le code hexadecimal du charset Windows (CP1252) (revoir le lien donné ci-avant des tables de caractères)
tu n'es pas sorti de l'auberge là ... !
Mon navigateur, si il rencontre "€", il ne l'affiche pas brut, il transforme en ¤.
Normal.
Je ne peux donc pas savoir si ¤ est passé en tant que "€" ou autre chose à PHP.
Des idées?
y a pas une 'tite fonction PHP de traduction des html-entités en PHP ? genre : htmlentity(blabla)