J'ai une application web fonctionnant sur Tomcat et dans son répertoire de travail, j'ai des fichiers HTML qui contiennent du texte avec des caractères non anglais. Depuis la webapp, il existe un lien pour afficher ce fichier et lorsque le fichier est affiché à partir de ce lien, le contenu du fichier est tronqué. c'est-à-dire que les caractères OpenPGM 組播 數據 傳輸 s'affichent comme OpenPGM çµ „æ'æ • ¸æ" šå‚³è¼¸

Voici des captures d'écran pour référence: En cas d'accès avec l'URL tomcat

Lorsque vous y accédez en ouvrant le fichier avec le navigateur

Mais lorsque j'ouvre le fichier avec le navigateur, les caractères s'affichent correctement.

Ce comportement m'a amené à croire que le problème vient de la façon dont tomcat affiche les données.

Jusqu'à présent, j'ai vérifié l'encodage de fichier défini dans JAVA_OPTS (qui est UTF-8), j'ai même vérifié le paramètre tom.serveur.xml pour URIEncoding et c'est également UTF 8 (même s'il s'agit d'URI et non du contenu du fichier).

Toute aide à ce sujet sera très appréciée!

0
Harminder Kaur 4 nov. 2019 à 11:01

1 réponse

Pour tous ceux qui recherchent une réponse. Vous pouvez définir l'encodage des caractères de la réponse renvoyée par tomcat. Donc dans mon cas, à partir de web.xml, j'ai vérifié dans quel filtre ma requête était entrée et au moment où la réponse était retournée, j'ai ajouté

response.setCharacterEncoding ("UTF-8");

Cela a abouti aux en-têtes de réponse (à la demande faite par tomcat pour le fichier) contenant les informations de jeu de caractères qui ont rendu la page correctement.

J'espère que cela aide quelqu'un!

0
Harminder Kaur 4 nov. 2019 à 16:20