CONVERTIR LES CARACTÈRES SPÉCIAUX EN CODE HTML [TEXT TO HTML]

cs_grandvizir Messages postés 1106 Date d'inscription samedi 8 novembre 2003 Statut Membre Dernière intervention 3 septembre 2006 - 31 oct. 2004 à 15:40
svendeville Messages postés 9 Date d'inscription samedi 10 avril 2004 Statut Membre Dernière intervention 11 octobre 2007 - 8 oct. 2007 à 17:22
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/27193-convertir-les-caracteres-speciaux-en-code-html-text-to-html

svendeville Messages postés 9 Date d'inscription samedi 10 avril 2004 Statut Membre Dernière intervention 11 octobre 2007
8 oct. 2007 à 17:22
Merci à toi Japee, ton code m'a evité quelques heure de galère...
10/10
cs_intik Messages postés 33 Date d'inscription dimanche 6 juillet 2003 Statut Membre Dernière intervention 12 septembre 2007
27 avril 2007 à 17:41
Pour tout ce qui concerne les charactaire spéciaux sur un clavier Francais/Belge voila le reste

_______________________________________________________

Autres =
['!', '§', ':', '/', ';', '.', ',', '?', '<', '>', '²', '&', '~', '"', '#', '''', '{', '(', '[', '-', '|', '`', '_', '\', '^', '@', ')', ']', '=', '}', '+', '°', '¨', '$', '£', '¤', '*', 'ù', '%', 'µ'];

Modif = MinusculesAccentuees + MajusculesAccentuees + Autres;

_______________________________________________________

je ne suis pas surre pour le ' je me rappel qu'il faut doubler l'apostrophe si on veut on mettre réelement une c'est ce que j'ai fait.... corriger moi si c'est faux

merci
cs_intik Messages postés 33 Date d'inscription dimanche 6 juillet 2003 Statut Membre Dernière intervention 12 septembre 2007
27 avril 2007 à 17:20
cool excéllent 10/10
tres utile !!!!!!!!
jbanety Messages postés 30 Date d'inscription mardi 24 décembre 2002 Statut Membre Dernière intervention 30 juin 2011
6 avril 2005 à 20:20
Nan en fait, je n'ai rien dit ;)
Oh làlàlàà j'ai dit n'importe quoi :)
En fait ce n'est pas les '#' qui sont retraduis mais les '&'.
Je suis pas réveillé moi :)
jbanety Messages postés 30 Date d'inscription mardi 24 décembre 2002 Statut Membre Dernière intervention 30 juin 2011
6 avril 2005 à 20:18
J'ai oublié une précision, c'est vrai que j'ai rajouté '#' dans la variable modif. Donc tu n'y avais pas pensé.
Enfin bon c'est histoire de mettre un petit commentaire sur ton code.
@++
jbanety Messages postés 30 Date d'inscription mardi 24 décembre 2002 Statut Membre Dernière intervention 30 juin 2011
6 avril 2005 à 20:16
Excelent code japee !
Mais il y a un seul problème qui n'est pas très grave, mais si la fonction est appliquée une fois, ça marche nikel, mais si on recommence, la fonction traduit les '#' présents.
Enfin voilà ;)
Aussi non, pas mal ;)
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
12 nov. 2004 à 14:55
Ok Nerolph, je comprends ainsi mieux ce que tu voulais dire.
Nerolph Messages postés 58 Date d'inscription vendredi 24 octobre 2003 Statut Membre Dernière intervention 4 septembre 2012
12 nov. 2004 à 13:56
PS: l'histoire de MacOS était un exemple si on voulait utiliser le fichier HTML sous Mac.
Nerolph Messages postés 58 Date d'inscription vendredi 24 octobre 2003 Statut Membre Dernière intervention 4 septembre 2012
12 nov. 2004 à 13:47
Je parlais principalement du caractère 233 (par exemple) : 'é' en Windows, 'Ú' en DOS par exemple. Ce que je veux dire, c'est que les caractères dont le code ASCII est supérieur à 127 dépendent du système d'exploitation sur lequel on les utilise. D'où l'intérêt de coder les caractères spéciaux en entités en HTML : on ne sait pas forcément ce que représente é alors que é est plus clair.
Le suis-je assez ?
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
9 nov. 2004 à 23:13
Japee, ne serait-ce pas plutôt la norme ISO-8859-1 ?

Nerolph: le jeu de caractères HTML n'est pas propre à Windows. Se référer à la source sur http://www.w3.org/Math/characters/bycodes.html pour plus de précisions.
Comme dit Japee, un fichier .html est lu par les navigateurs disponibles sous Macintosh. Il n'y a donc effectivement aucun rapport avec Delphi. Et qu'en sera-til sous Unix, puis sous BeOs, etc ? lol

Que ce soit un fichier de données ou un fichier programme, dans les deux cas il s'agit d'un fichier et le risque de perte est identique.
Après on peut toujours débattre de savoir s'il vaut mieux sauvegarder sur son disque dur ou sur un cd-rom...
japee Messages postés 1727 Date d'inscription vendredi 27 décembre 2002 Statut Modérateur Dernière intervention 6 novembre 2021 8
9 nov. 2004 à 22:20
Je me réfère à la norme ISO 5589-1.

Je suis étonné qu'elle ne soit pas interprétée par les navigateurs sous Linux, mais faute d'avoir testé, je veux bien admettre.

Pour MacOs, je ne vois pas tout à fait le rapport avec un code écrit en Delphi...

Je n'ai pas compris ce que venait faire dans le débat cette angoisse éprouvée par certains à l'idée de perdre un fichier. Moi, je sauvegarde.
Nerolph Messages postés 58 Date d'inscription vendredi 24 octobre 2003 Statut Membre Dernière intervention 4 septembre 2012
9 nov. 2004 à 13:51
J'ai un problème : j'utilise Kylix et la conversion ne me donne pas ce que je veux.
Ça doit venir du fait que é et é ne sont équivalent QUE sous Windows. Et donc ça ne marchera pas non plus sous MacOS.
D'où l'intérêt d'utiliser le fichier .ini que l'on peut perdre aussi bien que ton programme d'ailleurs.
Cela dit, il y a un truc de pas très juste dans ce fichier .ini : l'équivalent de TM en entité HTML est ™.
cs_grandvizir Messages postés 1106 Date d'inscription samedi 8 novembre 2003 Statut Membre Dernière intervention 3 septembre 2006 22
2 nov. 2004 à 21:53
Pour améliorer ce qui se fait, rien n'est meilleur que des commentaires. J'ai dit ce que j'avais à dire, vous tous aussi et puis c'est tout !
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
2 nov. 2004 à 21:49
J'affirme haut et fort que le code de Japee est excellent.
Aucun risque :
- d'erreur de saisie
- de perdre le fichier
Comme l'a écrit JulioDelphi, qu'est-ce que ça change que l'on écrive é ou é ?
Eh bien rien. Les navigateurs savent interpréter les deux. Alors gardons nos énergies pour des causes moins futiles.
Dans le souci constant d'améliorer le code, je suggère de passer le paramètre Ch en paramètre Const pour éviter qu'une copie locale soit faite. C'est pour le cas où la chaîne à traduire serait longue, longue...

L'utilisation de la fonction Concat est suffisamment rare pour mentionner sa présence ici. Toutefois, Borland indique dans l'aide en ligne que l'utilisation de l'opérateur d'addition est plus efficace que l'appel à la fonction Concat. Comme la concaténation ici est réalisée au sein d'une boucle, il est judicieux de mettre en pratique ce conseil pour gagner encore quelques millisecondes.
Bravo Japee pour la rapidité de réaction et l'efficacité "suite à la question sur le forum".
cs_grandvizir Messages postés 1106 Date d'inscription samedi 8 novembre 2003 Statut Membre Dernière intervention 3 septembre 2006 22
2 nov. 2004 à 21:07
Ca veut dire quoi ça ? :)
japee Messages postés 1727 Date d'inscription vendredi 27 décembre 2002 Statut Modérateur Dernière intervention 6 novembre 2021 8
2 nov. 2004 à 16:46
Merci, Inekman.
Je constate avec plaisir que tu as bien compris l'esprit de ce code.
Simplicité à la base, adaptabilité à ses besoins.
Le résultat étant l'efficacité.
Laissons les esprits chagrins à leurs tourments ;)
Inekman Messages postés 291 Date d'inscription dimanche 2 février 2003 Statut Membre Dernière intervention 30 juin 2006
2 nov. 2004 à 15:58
excellent code Japee, c'est exactement ce qu'il me fallait :-P
Simplicité, modularité. Bravo.

Inekman.10/10.
cs_grandvizir Messages postés 1106 Date d'inscription samedi 8 novembre 2003 Statut Membre Dernière intervention 3 septembre 2006 22
1 nov. 2004 à 11:21
Je rajouterai une chose. Pourquoi s'embêter à faire un tableau [A,B,C], puis [a,b,c] et enfin [1è]+[2è]. Autant faire une chaîne du type
Const CaracSpes : string[PréciserLaLongeur] = ''ABCDEFabcdef";

Après on fait une vérification du type
if Pos(Ch[i],CaracSpes)<>0 then

C'est pareil, et sûrement plus léger pour la mémoire.

Avec mon idée de tableau, il aurait fallu mettre une boucle FOR, donc ça aurait été plus long en code.
cs_grandvizir Messages postés 1106 Date d'inscription samedi 8 novembre 2003 Statut Membre Dernière intervention 3 septembre 2006 22
31 oct. 2004 à 18:22
... ou pour la même.

Mon INI date de plus de 3 ans. Encore heureux qu'il n'ait pas été bouffé par de nombreuses erreurs de disque.
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 14
31 oct. 2004 à 18:14
le ´ est 10000 fois mieux, c'est clair, mais personne ne va le voir :)
puis on ne risque pas de perdre le .ini :D
il faut ici juste convertir pour une page html, les surfeurs ne verront ke le résultats (c a dire la meme chose pour eux)
perso je prefere encore la conversion :) mais tes conversions sont tres utiles et tres compréhensible GrandVizir :) a garder pour d'autres sources :)
cs_grandvizir Messages postés 1106 Date d'inscription samedi 8 novembre 2003 Statut Membre Dernière intervention 3 septembre 2006 22
31 oct. 2004 à 18:04
Je crois qu'il y a "malcompréhension". Je vois très bien ce que tu veux dire...

Si l'INI est correct (ce qui est le cas), il n'y a pas de raison pour qu'il y ait des erreurs. J'essaie juste de montrer que mon idée de faire un tableau est bien plus judicieux. Lorsqu'on visualise le résultat, honnêtement, qu'est ce qui est le plus explicite "´" ou "é" ?

Il est certain qu'il n'y aura pas d'erreurs avec é, mais s'il y en a dans le tableau de référence, elles seront de toute manière tout de suite visibles...
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 14
31 oct. 2004 à 17:56
dans ce cas tu es hors sujet, car ici on utilise delphi pour convertir, une fois l'exe compilé, la personne pourras utiliser le prog sans delphi ni notepad...
ses caracteres seront convertis correctement par la machine, et donc je repete, pas d'erreur de saisi de l'humain
cs_grandvizir Messages postés 1106 Date d'inscription samedi 8 novembre 2003 Statut Membre Dernière intervention 3 septembre 2006 22
31 oct. 2004 à 17:49
Evidemment... mais si t'es fauché et que tu n'as que notepad...
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 14
31 oct. 2004 à 17:46
oui mais le 236 n'est pas saisi par l'humain, donc pas de risque d'erreur ! c delphi qui converti. tu vois ce que je veux dire ?
cs_grandvizir Messages postés 1106 Date d'inscription samedi 8 novembre 2003 Statut Membre Dernière intervention 3 septembre 2006 22
31 oct. 2004 à 17:32
Je ne dis pas que c'est nul, c'est juste qu'on peut aussi faire autrement, tout en restant propre. Je n'ai pas pris le Zip, l'extrait dans cette page suffit largement à connaître l'astuce. L'erreur humaine n'existe pas avec un éditeur html tout automatisé, à l'image d'un code source utilisant un tableau de référence.

Sinon, l'idée "é" n'est pas plus astucieuse que la mienne. Juliodelphi vient de m'y faire penser. En effet, si on se trompe dans le 233 (on met 236), le caractère sera nécessairement affiché puisque 236 est correspond à un caractère ASCII. Mais si on se trompe dans "´" (on met "&acote;") alors on obtient un truc pas beau à l'écran qui montre pertinemment qu'il ya eu erreur de frappe, ce qui n'est pas flagrant avec le 236.

En tout cas, mon INI pourra toujours servir...
japee Messages postés 1727 Date d'inscription vendredi 27 décembre 2002 Statut Modérateur Dernière intervention 6 novembre 2021 8
31 oct. 2004 à 17:17
As-tu bien regardé mon code, grandvizir ?

A quel endroit est-il nécessaire de savoir à quel caractère correspond quel code ?

De plus, ce code est tout à fait adaptable et évolutif, comme je le précise, il suffit de rajouter les caractères spéciaux que l'on désire traduire en code html.

Bonne fin de dimanche ;)

japee
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 14
31 oct. 2004 à 17:16
perso je prefere le code de japee qui vite les erreurs car moins de saisie humaine (l'erreur l'est) et qui evite de perdre ce beau fichier .ini
cs_grandvizir Messages postés 1106 Date d'inscription samedi 8 novembre 2003 Statut Membre Dernière intervention 3 septembre 2006 22
31 oct. 2004 à 17:05
Encore faut-il savoir quel nombre correspond à quelle lettre...
japee Messages postés 1727 Date d'inscription vendredi 27 décembre 2002 Statut Modérateur Dernière intervention 6 novembre 2021 8
31 oct. 2004 à 16:35
Je ne vois pas en quoi il est "trop facile" de coder "é" plutôt que "é" qui n'en est jamais que la forme symbolique (donc plus facile à mémoriser par l'humain) ?
cs_grandvizir Messages postés 1106 Date d'inscription samedi 8 novembre 2003 Statut Membre Dernière intervention 3 septembre 2006 22
31 oct. 2004 à 15:41
[HTML_chars]
<=<
>=>
&=&
"="
=
®=®
©=©
TM=TM
£=£
¢=¢
À=À
Á=Á
Â=Â
Ã=Ã
Ä=Ä
Å=Å
Æ=Æ
Ç=Ç
È=È
É=É
Ê=Ê
Ë=Ë
Ì=Ì
Í=Í
Î=Î
Ï=Ï
Ð=Ð
Ñ=Ñ
Ò=Ò
Ó=Ó
Ô=Ô
Õ=Õ
Ö=Ö
Ø=Ø
Ú=Ú
Ù=Ù
Û=Û
Ü=Ü
Ý=Ý
Þ=Þ
ß=ß
á=á
à=à
â=â
ã=ã
ä=ä
å=å
æ=æ
ç=ç
è=è
é=é
ê=ê
ë=ë
ì=ì
í=í
ï=ï
ð=ð
ñ=ñ
ó=ó
ò=ò
õ=õ
ô=ô
ö=ö
ø=ø
ù=ù
ú=ú
û=û
ü=ü
ý=ý
þ=þ
ÿ=ÿ
¶=¶
Œ=¼
œ=½
Ÿ=¾
¿=¿
¡=¡
¹=¹
²=²
³=³
±=±
°=°
µ=µ
·=·
«=«
»=»
ª=ª
§=§
Š=¦
¥=¥
€=¤
¯=¯
ž=¸
Ž=´
¬=¬
cs_grandvizir Messages postés 1106 Date d'inscription samedi 8 novembre 2003 Statut Membre Dernière intervention 3 septembre 2006 22
31 oct. 2004 à 15:40
Mettre par exemple "-" est trop facile. Ce qu'il faut faire, c'est plutôt un bel ARRAY OF STRING avec les vraies données HTML, où alors un fichier INI.

Tiens, je vais filer un INI.
Rejoignez-nous