Domanda

Io corro Tomcat6 localmente su Mac OS 10.5.8. I nostri server di gestione temporanea e di produzione hanno messa a punto una variabile di ambiente di:

LANG=en_US.UTF-8

stage e corsa di produzione su CentOS e leggere questo valore quando Java e Tomcat si avvia. Tuttavia, non sembra che Java è la lettura di questo valore ed è inadempiente a en_US_ISO_85591. Sulla mia macchina locale, ho aggiunto LANG = en_US.UTF-8 per il mio file .bash_profile, perché Java e Tomcat sono in esecuzione come il mio utente.

Se aiuta, la situazione che sta eseguendo in è che abbiamo un servizio di back-end che fornisce i dati UTF8 XML in formato a un altro controller che converte i dati in una variabile a livello di pagina. La sua durante il processo di conversione a livello locale che i dati XML viene convertito nel formato ISO_85591, poi di nuovo a UTF-8, e rompe con questo errore:

Invalid byte 1 of 1-byte UTF-8 sequence.

C'è un altro modo per configurare questo?

È stato utile?

Soluzione

È possibile impostare codifica dei file per Tomcat nella variabile d'ambiente CATALINA_OPTS:

cd <tomcat_root>
CATALINA_OPTS="-Dfile.encoding=UTF-8"./bin/startup.sh
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top