|
Openlaszlo : Affichage des caractères accentués |
|
Écrit par jmo
|
|
01-02-2008 |
|
N ous sommes confrontés régulièrement, sur nos sites et applications, à la problématique de l'affichage correct des caractères spécifiques aux alphabets non anglophones.
Openlaszlo gère l'encodage spécifique des caractères dans les fichiers xml échangés et les fichiers lzx, par l'inclusion d'une directive de type
<?xml version="1.0" encoding="UTF-8"?> ou <?xml version="1.0" encoding="ISO-8859-1" ?> en entête de fichier.
Avec Openlaszlo, Il est nécessaire de bien prendre en compte le mode de déploiement de l'application développée, à savoir le mode SOLO ou le mode SERVEUR.
Déploiement en mode Serveur
En mode Serveur, c'est le parseur du framework qui interprète les fichiers xml et gère cette directive d'encodage.
Déploiement en mode SOLO
En mode SOLO, c'est le parseur du player Flash qui interprète les fichiers XML transmis. Celui-ci ne gère correctement que l'UTF8.
Il est donc obligatoire de fournir les fichiers XML encodés en UTF8, sous peine d'avoir un non affichage des caractères spécifiques, voire une non interprétation du fichier XML sans nécessairement de génération d'erreur ou de warning.
Gérer un encodage correct
Mode SOLO
Si vous souhaitez déployer votre application en mode SOLO (dans 90 % des cas), incluez lors du développement l'attribut proxied="false" dans le tag canvas. Vous vous mettrez ainsi en situation de production en vous évitant certains soucis.
Toujours inclure la directive d'encodage en UTF8 en entête de tous vos fichiers xml et lzx : <?xml version="1.0" encoding="UTF-8"?>
Fichiers "en dur"
Si vous créer le fichier xml "à la main", utilisez un éditeur permettant d'enregistrer les fichiers en UTF8 (style Notepad++ ou JEdit sous Windows). Le code correspondant à votre caractère spécifique sera gérer par votre outil.
Sinon ayez une table de conversion UTF8 des codes de vos caractères spécifiques sous la main et utilisez les dans vos sources (quitte à le rendre un peu illisible).
Flux PHP
Utilisez par exemple : utf8_encode(string data) ou utf8_decode(string data).
Sans oublier d'inclure la directive :
<?xml version="1.0" encoding="utf-8"?>
<%@page pageEncoding="UTF-8" contentType="text/xml" %>
Flux Java
Utiliser par exemple : OutputStreamWriter (String,"UTF-8") ou InputStreamReader (inBytes,"UTF-8")
Pages JSP
Inclure en entête de fichier les directives suivantes :
<?xml version="1.0" encoding="utf-8"?>
<%@page pageEncoding="UTF-8" contentType="text/xml" %>
Pour les autres langages
Il est nécessaire de lire et d'écrire les flux en utilisant les méthodes d'encodage en UTF8 du langage utilisé.
Articles associés
Trackback(0)
|
|
Dernière mise à jour : ( 13-02-2008 )
|