Votre avis sur (en)codage texte des pages HTML
Bonjour,
Mes connaissances en programmation portent plus sur WBScript et Visual Basic Pro et Application. La conception de site WEB n'est pas vraiment mon domaine de compétence encore moins le langage JavaScript.
Par avance, merci de votre indulgence ! Il me faut mettre les mains dans le cambouis et apprendre une syntaxe différente.
J'ai lu avec intérêt différents tuto HTML/ JavaScript, en faisant plus confiance à votre site qui colle à l'actualité. Je constate que le langage JavaSript semble, au fil des ans, évoluer très vite et abandonner la compatibilité montante (fonctions devenant obsolètes ou en passe de le devenir).
Mon Boss ayant eu connaissance d'une instruction notée "deprecated" dans JavaScript 1.5, en l'occurrence "unescape" actuellement utilisée dans son code HTML, il me demande de me pencher sur le codage / décodage des chaines de caractères sur des pages n'utilisant que HTML5 (soit disant respectant la norme W3C ce qui semble exact selon site test trouvé) et Javascript… Il est totalement réfractaire à l'utilisation du PHP !
A la découverte du codage existant, je présume que la problématique se situera niveau fichier "ListeRef.js" contenant un tableau imbriqué dans une fonction JavaScript.
Ce qui me choque (mais est-ce Vrai ou Faux ?) est que ce tableau soit importé "en l'état" dans le HTML pour servir, à la fois à créer dynamiquement des titres dans la page HTML et aussi d'URL pour accès à une autre page HTML. Noter que le contenu est actualisée via par un programme WBScript puis le fichier est mis en ligne.
Or, les informations sont au format Windows ANSI. De fait ce dernier peut contenir tous les caractères français dont accents et autres signes type parenthèses. Je peux revoir ce point mais je pense que la solution doit être mise en œuvre au niveau de la page HTML pour un investissement durable …
Pour analyse : Voici un exemple (factice) du fichier de données ListeRef.js
Code:
1 2 3 4 5 6 7 8 9
|
function MyListe() {
// ================================================================================
// Insérer ici références
// ================================================================================
tabTxt[0] = "Céline (haut)/120102";
tabTxt[1] = "Robe à fleurs/1002103";
// ================================================================================
} |
Et voici une synthèse partielle du fichier Index.html
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| <!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Version 2.20.1</title>
<script src="../../ListeRef.js" type="text/javascript"></script>
<link rel="stylesheet" type="text/css" href="css/index_styles.css" />
</head>
<body>
<script type="text/javascript">
// Charger Liste
tabTxt = new Array();
MyListe();
// Afficher Menu appelle un code JavaScript externe qui traite les chaines du tableau pour lecture voire également comme URL
AfficherMenu();
</script>
</body>
</html> |
Question :
Ne devrait-on pas encoder le texte brut (encodeURI() ?) au lieu de le travailler "en l'état" avant de le "balancer" dans la page HTML puis utiliser decodeURI() pour l'affichage en clair et decodeURIComponent() pour une URL ?
En outre dans le code HTML peut-on conserver un charset windows-1252 ou préférer utiliser UTF-8 avec les instructions ci-dessus ?
L'informatique reste, pour moi, la science de la modestie. Merci de vos précieuses remarques et / ou critiques à venir. Peut-être ai-je zappé sur certaines informations présentes sur votre site …
Bonne fin de journée,