Je voudrais afficher le caractère Unicode 2533 (une sorte de T, voir
http://www.unicode.org/charts/PDF/U2500.pdf ).
J'ai suivi les instructions mais php.net est assez vague de ce côté.
J'ai essayé ce script :
<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=UTF-8">
<meta name="Author" content="Denis Beauregard">
</head>
<body >
test[\p{2533}]test
</body>
</html>
Il affiche test[\p{2533}]test et non le caractère attendu.
Idem avec \P.
\X2533 donne %33
Donc, je conclus qu'il ne s'agit ici que d'expressions régulières
pour la recherche, sans rapport avec un affichage.
৥ affiche un caractère bizarre qui est peut-être celui demandé.
La documentation mentionne un mode UTF-8 sans donner plus de détails.
Je n'ai pas non plus d'exemple sur l'utilisation du Unicode en PHP.
1. Comment fait-on pour afficher ce caractère 2533 en HTML ou PHP.
2. Faut-il installer quelque chose dans le navigateur pour que
l'affichage se fasse ? J'ai essayé Seamonkey, FF et IE 8.
Le caractère semble visible si je choisis UTF-16 comme affichage,
donc il me semble que le jeu requis est présent dans le navigateur.
Par contre, si je place ৥ au début du fichier, je n'ai pas
mon fameux caractère.
Je voudrais afficher le caractère Unicode 2533 (une sorte de T, voir http://www.unicode.org/charts/PDF/U2500.pdf ).
J'ai suivi les instructions mais php.net est assez vague de ce côté. J'ai essayé ce script :
<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta name="Author" content="Denis Beauregard"> </head> <body>
test[p{2533}]test
</body> </html>
Là, je ne vois pas une once de PHP !
Soit tu mets :
test ৥ test
(qui est du HTML)
Soit si tu veux du PHP :
<?php echo "x2533" ; ?>
-- Serge http://leserged.online.fr/ Mon blog: http://cahierdesergio.free.fr/ Soutenez le libre: http://www.framasoft.org
Denis Beauregard
Le Tue, 26 Jul 2011 18:16:19 +0200, Sergio écrivait dans fr.comp.infosystemes.www.auteurs:
Le 26/07/2011 17:59, Denis Beauregard a écrit :
Bonjour,
Je voudrais afficher le caractère Unicode 2533 (une sorte de T, voir http://www.unicode.org/charts/PDF/U2500.pdf ).
J'ai suivi les instructions mais php.net est assez vague de ce côté. J'ai essayé ce script :
<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta name="Author" content="Denis Beauregard"> </head> <body>
test[p{2533}]test
</body> </html>
Là, je ne vois pas une once de PHP !
Soit tu mets :
test ৥ test
(qui est du HTML)
Soit si tu veux du PHP :
<?php echo "x2533" ; ?>
echo "x2533" donne le même %33 que j'obtenais.
Dans les faits, mon script va produire des dessins avec les caractères de la série 2500-257F, quelque chose comme $a="----+----", le tout suivi d'un echo a$.b$;
Je vois 3 difficultés:
1- affichage en html des caractères Unicode. Si cela passe sans problème, les autres difficultés sont résolues. 2- manipuler les chaînes Unicode que je veux utiliser en PHP 3- affichage par le navigateur s'il faut ajouter quelque chose.
Denis
Le Tue, 26 Jul 2011 18:16:19 +0200, Sergio
<serge.laposte@delbono.net.invalid> écrivait dans
fr.comp.infosystemes.www.auteurs:
Le 26/07/2011 17:59, Denis Beauregard a écrit :
Bonjour,
Je voudrais afficher le caractère Unicode 2533 (une sorte de T, voir
http://www.unicode.org/charts/PDF/U2500.pdf ).
J'ai suivi les instructions mais php.net est assez vague de ce côté.
J'ai essayé ce script :
<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=UTF-8">
<meta name="Author" content="Denis Beauregard">
</head>
<body>
test[p{2533}]test
</body>
</html>
Là, je ne vois pas une once de PHP !
Soit tu mets :
test ৥ test
(qui est du HTML)
Soit si tu veux du PHP :
<?php
echo "x2533" ;
?>
echo "x2533" donne le même %33 que j'obtenais.
Dans les faits, mon script va produire des dessins avec les caractères
de la série 2500-257F, quelque chose comme $a="----+----", le tout
suivi d'un echo a$.b$;
Je vois 3 difficultés:
1- affichage en html des caractères Unicode. Si cela passe sans
problème, les autres difficultés sont résolues.
2- manipuler les chaînes Unicode que je veux utiliser en PHP
3- affichage par le navigateur s'il faut ajouter quelque chose.
Le Tue, 26 Jul 2011 18:16:19 +0200, Sergio écrivait dans fr.comp.infosystemes.www.auteurs:
Le 26/07/2011 17:59, Denis Beauregard a écrit :
Bonjour,
Je voudrais afficher le caractère Unicode 2533 (une sorte de T, voir http://www.unicode.org/charts/PDF/U2500.pdf ).
J'ai suivi les instructions mais php.net est assez vague de ce côté. J'ai essayé ce script :
<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta name="Author" content="Denis Beauregard"> </head> <body>
test[p{2533}]test
</body> </html>
Là, je ne vois pas une once de PHP !
Soit tu mets :
test ৥ test
(qui est du HTML)
Soit si tu veux du PHP :
<?php echo "x2533" ; ?>
echo "x2533" donne le même %33 que j'obtenais.
Dans les faits, mon script va produire des dessins avec les caractères de la série 2500-257F, quelque chose comme $a="----+----", le tout suivi d'un echo a$.b$;
Je vois 3 difficultés:
1- affichage en html des caractères Unicode. Si cela passe sans problème, les autres difficultés sont résolues. 2- manipuler les chaînes Unicode que je veux utiliser en PHP 3- affichage par le navigateur s'il faut ajouter quelque chose.
Denis
SAM
Le 26/07/11 18:16, Sergio a écrit :
Le 26/07/2011 17:59, Denis Beauregard a écrit :
Bonjour,
Je voudrais afficher le caractère Unicode 2533 (une sorte de T, voir http://www.unicode.org/charts/PDF/U2500.pdf ).
Soit si tu veux du PHP :
<?php echo "x2533" ; ?>
et si on le veut en JavaScript : hop! : alert('u2533');
On pourra préférer : üC; ( x252C u252C ) <http://www.miakinen.net/vrac/charsets/?hv=h&o6=CP437&or=5&pr4> qui est un peu plus gras
-- Stéphane Moriaux avec/with iMac-intel
Le 26/07/11 18:16, Sergio a écrit :
Le 26/07/2011 17:59, Denis Beauregard a écrit :
Bonjour,
Je voudrais afficher le caractère Unicode 2533 (une sorte de T, voir
http://www.unicode.org/charts/PDF/U2500.pdf ).
Soit si tu veux du PHP :
<?php
echo "x2533" ;
?>
et si on le veut en JavaScript :
hop! :
alert('u2533');
On pourra préférer : üC; ( x252C u252C )
<http://www.miakinen.net/vrac/charsets/?hv=h&o6=CP437&or=5&pr4>
qui est un peu plus gras
Du lien donné précédemment on pourra s'inspirer du tableau du CP437
Le tableau est intéressant. Je dois recycler du code écrit pour DOS à l'époque, en CP850 et variations, et je sais que j'utilisais ces caractères. En fait, je ré-écris en PHP un éditeur qui était en ASM 8086 pour DOS et je dois sans doute prévoir la conversion des accents.
L'affichage à l'écran est vraiment autre chose.
Denis
Le Tue, 26 Jul 2011 20:03:35 +0200, SAM
<stephanemoriaux.NoAdmin@wanadoo.fr.invalid> écrivait dans
fr.comp.infosystemes.www.auteurs:
Le 26/07/11 19:53, Denis Beauregard a écrit :
Le 26/07/2011 17:59, Denis Beauregard a écrit :
Bonjour,
Je voudrais afficher le caractère Unicode 2533 (une sorte de T, voir
http://www.unicode.org/charts/PDF/U2500.pdf ).
Du lien donné précédemment on pourra s'inspirer du tableau du CP437
Le tableau est intéressant. Je dois recycler du code écrit pour DOS
à l'époque, en CP850 et variations, et je sais que j'utilisais ces
caractères. En fait, je ré-écris en PHP un éditeur qui était en ASM
8086 pour DOS et je dois sans doute prévoir la conversion des accents.
Du lien donné précédemment on pourra s'inspirer du tableau du CP437
Le tableau est intéressant. Je dois recycler du code écrit pour DOS à l'époque, en CP850 et variations, et je sais que j'utilisais ces caractères. En fait, je ré-écris en PHP un éditeur qui était en ASM 8086 pour DOS et je dois sans doute prévoir la conversion des accents.
L'affichage à l'écran est vraiment autre chose.
Denis
SAM
Le 26/07/11 20:12, Denis Beauregard a écrit :
Le Tue, 26 Jul 2011 20:03:35 +0200, SAM écrivait dans fr.comp.infosystemes.www.auteurs:
ou directement en utf-8 ?
???????
heu ...
ou directement en utf-8 ?
───┬───
si le news-reader ne le fait pas tout seul, passer en affichage UTF-8
-- Stéphane Moriaux avec/with iMac-intel
Le 26/07/11 20:12, Denis Beauregard a écrit :
Le Tue, 26 Jul 2011 20:03:35 +0200, SAM
<stephanemoriaux.NoAdmin@wanadoo.fr.invalid> écrivait dans
fr.comp.infosystemes.www.auteurs:
ou directement en utf-8 ?
???????
heu ...
ou directement en utf-8 ?
───┬───
si le news-reader ne le fait pas tout seul, passer en affichage UTF-8
Le Tue, 26 Jul 2011 20:03:35 +0200, SAM écrivait dans fr.comp.infosystemes.www.auteurs:
ou directement en utf-8 ?
???????
heu ...
ou directement en utf-8 ?
───┬───
si le news-reader ne le fait pas tout seul, passer en affichage UTF-8
-- Stéphane Moriaux avec/with iMac-intel
Olivier Miakinen
Le 26/07/2011 19:53, Denis Beauregard a écrit :
Je voudrais afficher le caractère Unicode 2533 (une sorte de T, voir http://www.unicode.org/charts/PDF/U2500.pdf ).
echo "x2533" donne le même %33 que j'obtenais.
Oui, cela correspond à ce que l'on peut lire ici :
http://www.php.net/manual/fr/language.types.string.php#language.types.string.syntax.double <cit.> x[0-9A-Fa-f]{1,2} La séquence de caractères correspondant à une expression régulière est un caractère, en notation hexadécimale </cit.>
Le « {1,2} » veut dire qu'il ne prend en compte que deux chiffres hexa au maximum, donc "x25" suivi de "3" et encore de "3" : "%33".
Tiens, voici une page en or à mettre dans tes marque-pages : http://people.w3.org/rishida/scripts/uniview.fr/conversion.html
Tu mets 2533 dans le cadre « Numéros de caractères en hex », puis tu cliques dans un autre cadre, et tu obtiens :
======================================================= 2533 (Numéros de caractères en hex) ┳ (Caractères) E2 94 B3 (Unités de code UTF-8) 2533 (Unités de code UTF-16) ┳ (Appels de caractère numériques hex) ┳ (Appels de caractère numériques décimaux) ======================================================= Les différentes possibilités sont donc : ==================================================================== ┳ (si le codage de ton fichier admet Unicode, par exemple UTF-8) <?php echo "xE2x94xB3"; ?> (si le codage *est* UTF-8) ┳ (si le codage est compatible Ascii, tel Latin1 ou UTF-8) ┳ (si le codage est compatible Ascii, tel Latin1 ou UTF-8) ==================================================================== Attention dans les deux derniers cas à ne pas oublier le point-virgule !
Cordialement, -- Olivier Miakinen
Le 26/07/2011 19:53, Denis Beauregard a écrit :
Je voudrais afficher le caractère Unicode 2533 (une sorte de T, voir
http://www.unicode.org/charts/PDF/U2500.pdf ).
echo "x2533" donne le même %33 que j'obtenais.
Oui, cela correspond à ce que l'on peut lire ici :
http://www.php.net/manual/fr/language.types.string.php#language.types.string.syntax.double
<cit.>
x[0-9A-Fa-f]{1,2} La séquence de caractères correspondant à une
expression régulière est un caractère, en notation hexadécimale
</cit.>
Le « {1,2} » veut dire qu'il ne prend en compte que deux chiffres hexa
au maximum, donc "x25" suivi de "3" et encore de "3" : "%33".
Tiens, voici une page en or à mettre dans tes marque-pages :
http://people.w3.org/rishida/scripts/uniview.fr/conversion.html
Tu mets 2533 dans le cadre « Numéros de caractères en hex », puis tu
cliques dans un autre cadre, et tu obtiens :
======================================================= 2533 (Numéros de caractères en hex)
┳ (Caractères)
E2 94 B3 (Unités de code UTF-8)
2533 (Unités de code UTF-16)
┳ (Appels de caractère numériques hex)
┳ (Appels de caractère numériques décimaux)
=======================================================
Les différentes possibilités sont donc :
==================================================================== ┳ (si le codage de ton fichier admet Unicode, par exemple UTF-8)
<?php echo "xE2x94xB3"; ?> (si le codage *est* UTF-8)
┳ (si le codage est compatible Ascii, tel Latin1 ou UTF-8)
┳ (si le codage est compatible Ascii, tel Latin1 ou UTF-8)
====================================================================
Attention dans les deux derniers cas à ne pas oublier le point-virgule !
Je voudrais afficher le caractère Unicode 2533 (une sorte de T, voir http://www.unicode.org/charts/PDF/U2500.pdf ).
echo "x2533" donne le même %33 que j'obtenais.
Oui, cela correspond à ce que l'on peut lire ici :
http://www.php.net/manual/fr/language.types.string.php#language.types.string.syntax.double <cit.> x[0-9A-Fa-f]{1,2} La séquence de caractères correspondant à une expression régulière est un caractère, en notation hexadécimale </cit.>
Le « {1,2} » veut dire qu'il ne prend en compte que deux chiffres hexa au maximum, donc "x25" suivi de "3" et encore de "3" : "%33".
Tiens, voici une page en or à mettre dans tes marque-pages : http://people.w3.org/rishida/scripts/uniview.fr/conversion.html
Tu mets 2533 dans le cadre « Numéros de caractères en hex », puis tu cliques dans un autre cadre, et tu obtiens :
======================================================= 2533 (Numéros de caractères en hex) ┳ (Caractères) E2 94 B3 (Unités de code UTF-8) 2533 (Unités de code UTF-16) ┳ (Appels de caractère numériques hex) ┳ (Appels de caractère numériques décimaux) ======================================================= Les différentes possibilités sont donc : ==================================================================== ┳ (si le codage de ton fichier admet Unicode, par exemple UTF-8) <?php echo "xE2x94xB3"; ?> (si le codage *est* UTF-8) ┳ (si le codage est compatible Ascii, tel Latin1 ou UTF-8) ┳ (si le codage est compatible Ascii, tel Latin1 ou UTF-8) ==================================================================== Attention dans les deux derniers cas à ne pas oublier le point-virgule !
Cordialement, -- Olivier Miakinen
Olivier Miakinen
Le 26/07/2011 20:03, Denis Beauregard a écrit :
J'ai fini par découvrir l'astuce. Il suffit de faire par exemple :
┳
Oui, c'est une référence de caractère numérique (hexadécimale) et c'est défini dans HTML : http://www.la-grange.net/w3c/html4.01/charset.html#h-5.3.1
Curieusement, ma page est détectée comme latin1 par le navigateur
C'est sûrement que l'entête HTTP déclare du Latin1, puisque le meta http-equiv déclare UTF-8. Pour que les deux soient corrects à la fois, il faut que la page ne contienne que de l'US-ASCII, ce qui est assez restrictif. ;-) Il vaudrait mieux que tu choisisses l'un ou l'autre (Latin1 ou UTF-8) et que tu changes la déclaration qui affirme le contraire.
mais ce caractère est affiché en unicode.
Par définition, une référence de caractère numérique donne le numéro Unicode du caractère, quel que soit le charset du document. Mais cela fonctionne parce que tous les caractères réellement utilisés pour cette référence, à savoir '&', '#', 'x', '2', '5', '3', '3' et ';', sont de l'US-ASCII, et que US-ASCII est compatible à la fois avec Latin1 et avec UTF-8. J'espère que tu me comprends, parce que c'est une notion assez importante à bien saisir. Si tu n'as pas compris, demande !
Cordialement, -- Olivier Miakinen
Le 26/07/2011 20:03, Denis Beauregard a écrit :
J'ai fini par découvrir l'astuce. Il suffit de faire par exemple :
┳
Oui, c'est une référence de caractère numérique (hexadécimale) et c'est
défini dans HTML :
http://www.la-grange.net/w3c/html4.01/charset.html#h-5.3.1
Curieusement, ma page est détectée comme latin1 par le navigateur
C'est sûrement que l'entête HTTP déclare du Latin1, puisque le meta
http-equiv déclare UTF-8. Pour que les deux soient corrects à la fois,
il faut que la page ne contienne que de l'US-ASCII, ce qui est assez
restrictif. ;-) Il vaudrait mieux que tu choisisses l'un ou l'autre
(Latin1 ou UTF-8) et que tu changes la déclaration qui affirme le
contraire.
mais ce caractère est affiché en unicode.
Par définition, une référence de caractère numérique donne le numéro
Unicode du caractère, quel que soit le charset du document. Mais cela
fonctionne parce que tous les caractères réellement utilisés pour cette
référence, à savoir '&', '#', 'x', '2', '5', '3', '3' et ';', sont de
l'US-ASCII, et que US-ASCII est compatible à la fois avec Latin1 et
avec UTF-8. J'espère que tu me comprends, parce que c'est une notion
assez importante à bien saisir. Si tu n'as pas compris, demande !
J'ai fini par découvrir l'astuce. Il suffit de faire par exemple :
┳
Oui, c'est une référence de caractère numérique (hexadécimale) et c'est défini dans HTML : http://www.la-grange.net/w3c/html4.01/charset.html#h-5.3.1
Curieusement, ma page est détectée comme latin1 par le navigateur
C'est sûrement que l'entête HTTP déclare du Latin1, puisque le meta http-equiv déclare UTF-8. Pour que les deux soient corrects à la fois, il faut que la page ne contienne que de l'US-ASCII, ce qui est assez restrictif. ;-) Il vaudrait mieux que tu choisisses l'un ou l'autre (Latin1 ou UTF-8) et que tu changes la déclaration qui affirme le contraire.
mais ce caractère est affiché en unicode.
Par définition, une référence de caractère numérique donne le numéro Unicode du caractère, quel que soit le charset du document. Mais cela fonctionne parce que tous les caractères réellement utilisés pour cette référence, à savoir '&', '#', 'x', '2', '5', '3', '3' et ';', sont de l'US-ASCII, et que US-ASCII est compatible à la fois avec Latin1 et avec UTF-8. J'espère que tu me comprends, parce que c'est une notion assez importante à bien saisir. Si tu n'as pas compris, demande !
Cordialement, -- Olivier Miakinen
Denis Beauregard
Bonjour,
Pour les curieux qui voudraient voir le résultat, c'est sur http://www.francogene.com/SE/index.php
J'ai encore quelques problèmes à résoudre. Tout d'abord, remplacer le X par quelque chose qui ressemble plus à une astérisque mais qui soit de la même largeur que les autres caractères.
Voir colonnes puis P(08) strtrim
Avec d'autres caractères que le X, la ligne au-dessus de "NUL Ne rien faire", n'est pas à sa place. Le X fait partie de la page 25xx. C'est comme si Seamonkey (que j'ai utilisé pour mes tests) gardait la même largeur que le caractère précédent quand on en utilise un plus étroit.
Un autre problème est l'espacement des caractères. Avec Gecko/20110420 SeaMonkey/2.0.14, c'est parfait horizontalement mais les traits sont espacés verticalement. Avec FireFox 4.01, il y a des espaces dans les deux axes. IE 8 agit comme Seamonkey. Je n'ai pas testé avec d'autres navigateurs... Je suppose que pour l'axe vertical, c'est une question de CSS, mais pour l'horizontal, peut-être une valeur par défaut différente avec FF et que je pourrais changer.
Et mon problème majeur, ce sera de modifier le texte et les schémas, mais c'est mon problème je pense. J'ai vu qu'il y a un grand nombre d'éditeurs de texte pour Javascript.
Denis
P.S. Pour ceux qui n'ont pas compris, c'est un éditeur de code de programmation avec du code de C++. Dans les années 1980, j'avais aussi des utilisateurs avec d'autres langages comme le Fortran, le Pascal et le PL/M. Et mon premier prototype a été écrit en Basic...
Bonjour,
Pour les curieux qui voudraient voir le résultat, c'est sur
http://www.francogene.com/SE/index.php
J'ai encore quelques problèmes à résoudre. Tout d'abord, remplacer le
X par quelque chose qui ressemble plus à une astérisque mais qui
soit de la même largeur que les autres caractères.
Voir colonnes puis P(08) strtrim
Avec d'autres caractères que le X, la ligne au-dessus de "NUL Ne rien
faire", n'est pas à sa place. Le X fait partie de la page 25xx. C'est
comme si Seamonkey (que j'ai utilisé pour mes tests) gardait la même
largeur que le caractère précédent quand on en utilise un plus étroit.
Un autre problème est l'espacement des caractères. Avec Gecko/20110420
SeaMonkey/2.0.14, c'est parfait horizontalement mais les traits sont
espacés verticalement. Avec FireFox 4.01, il y a des espaces dans les
deux axes. IE 8 agit comme Seamonkey. Je n'ai pas testé avec d'autres
navigateurs... Je suppose que pour l'axe vertical, c'est une question
de CSS, mais pour l'horizontal, peut-être une valeur par défaut
différente avec FF et que je pourrais changer.
Et mon problème majeur, ce sera de modifier le texte et les schémas,
mais c'est mon problème je pense. J'ai vu qu'il y a un grand nombre
d'éditeurs de texte pour Javascript.
Denis
P.S. Pour ceux qui n'ont pas compris, c'est un éditeur de code de
programmation avec du code de C++. Dans les années 1980, j'avais
aussi des utilisateurs avec d'autres langages comme le Fortran, le
Pascal et le PL/M. Et mon premier prototype a été écrit en Basic...
Pour les curieux qui voudraient voir le résultat, c'est sur http://www.francogene.com/SE/index.php
J'ai encore quelques problèmes à résoudre. Tout d'abord, remplacer le X par quelque chose qui ressemble plus à une astérisque mais qui soit de la même largeur que les autres caractères.
Voir colonnes puis P(08) strtrim
Avec d'autres caractères que le X, la ligne au-dessus de "NUL Ne rien faire", n'est pas à sa place. Le X fait partie de la page 25xx. C'est comme si Seamonkey (que j'ai utilisé pour mes tests) gardait la même largeur que le caractère précédent quand on en utilise un plus étroit.
Un autre problème est l'espacement des caractères. Avec Gecko/20110420 SeaMonkey/2.0.14, c'est parfait horizontalement mais les traits sont espacés verticalement. Avec FireFox 4.01, il y a des espaces dans les deux axes. IE 8 agit comme Seamonkey. Je n'ai pas testé avec d'autres navigateurs... Je suppose que pour l'axe vertical, c'est une question de CSS, mais pour l'horizontal, peut-être une valeur par défaut différente avec FF et que je pourrais changer.
Et mon problème majeur, ce sera de modifier le texte et les schémas, mais c'est mon problème je pense. J'ai vu qu'il y a un grand nombre d'éditeurs de texte pour Javascript.
Denis
P.S. Pour ceux qui n'ont pas compris, c'est un éditeur de code de programmation avec du code de C++. Dans les années 1980, j'avais aussi des utilisateurs avec d'autres langages comme le Fortran, le Pascal et le PL/M. Et mon premier prototype a été écrit en Basic...