Domanda

Sto avendo alcuni problemi di internazionalizzazione:

I miei campi stringa UTF-8 vengono visualizzati nel browser come ????dopo essere stati restituiti dal database.

Dopo il recupero dal database utilizzando Hibernate, i campi String vengono presentati correttamente durante l'ispezione utilizzando il debugger di Eclipse.

Tuttavia Struts2/Tiles visualizza queste stringhe come ????nell'HTML inviato al browser.

La direttiva charset è presente nell'intestazione HTML:

Forse devo aggiungere qualcosa alle mie configurazioni di montanti2 o di piastrelle?

È stato utile?

Soluzione

Potresti provare qualcosa del genere.

È tratto dalla pagina di Sun in poi Set di caratteri e codifiche.Penso che questa debba essere la prima riga nel tuo jsp.

<%@ page contentType="text/html; charset=UTF-8" %>

Altri suggerimenti

Oh mio Dio, si scopre che la causa era un totale WTF?

tutte le nostre risposte alle tessere venivano servite da un servlet interno che ignorava il file

<%@ page contentType="text/html; charset=UTF-8" %>

direttiva (e chissà cos'altro).

TilesDispatchExtensionServlet :maledetti astronauti dell'architettura, vi stringo il pugno.

Prova a impostare l'attributo lang sull'elemento <html/>.

Esempio HTML:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="ja"> 

Esempio XHTML:

<!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"> 

È necessario utilizzare un filtro.Vedere:

http://wiki.apache.org/tomcat/Tomcat/UTF-8

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top