Stuts2 Tuiles Tomcat soupçonnés de l'évolution de l'UTF-8?
-
09-06-2019 - |
Question
Je vais avoir quelques internationalisation malheurs:
Ma chaîne UTF-8 champs sont rendu dans le navigateur ????après être retourné à partir de la base de données.
Après la récupération de la base de données en utilisant Hibernate, les champs de type Chaîne sont présentés correctement sur l'inspection à l'aide du débogueur eclipse.
Cependant Struts2/Tuiles est rendu ces chaînes comme ????dans le code HTML envoyé au navigateur.
Le jeu de caractères de la directive est présent dans le code HTML:
Peut-être que j'ai besoin d'ajouter quelque chose à mon struts2 ou carreaux de configurations?
La solution
Vous pouvez essayer quelque chose comme cela.
Il est pris à partir du soleil sur la page Jeux de caractères et les Codages.Je pense que ce doit être la première ligne de votre jsp.
<%@ page contentType="text/html; charset=UTF-8" %>
Autres conseils
OMG - il s'avère que la cause était un total WTF?
tous nos carreaux réponses ont été servis par une maison servlet qui était ignorant la
<%@ page contentType="text/html; charset=UTF-8" %>
la directive (et qui sait quoi d'autre).
TilesDispatchExtensionServlet
:sanglante de l'architecture des astronautes, je secoue mon poing à vous.
Essayez de définir l'attribut lang sur le <html /> de l'élément.
Exemple de code HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html lang="ja">
XHTML exemple:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja">
Vous avez besoin d'utiliser un filtre.Voir: