Estranho comportamento do Tomcat (acentuação)

Olá colegas,

Tenho uma aplicação que é compilada numa classe e conecta
ao banco de dados, sendo referenciada por Servlets e por páginas
JSP.

A classe basicamente se conecta ao banco assim:

 public boolean iniciaConexao()
 {
	 try
	 {
	 Class.forName("org.postgresql.Driver");
	 Properties propriedades = new Properties();
	 propriedades.put("user","usuario");
	 propriedades.put("password","senha");
	 propriedades.put("lc_ctype","ISO8859_1"); 
	 Connection db = DriverManager.getConnection("jdbc:postgresql://10.0.0.1:5432/prod?charSet=latin1",propriedades);
	 comandoSQL= db.createStatement();    
	 }
	catch(Exception e){  
	     e.printStackTrace(); 
	     return false;
	    }
	   return true;
 }

No ambiente Windows, tanto no Servlet como no JSP os acentos são
exibidos normalmente.

O problema é no Linux, algumas páginas JSP exibem os dados do banco corretamente acentuados, e outras páginas JSP/servlets não exibem
os acentos , apenas um “?” no lugar.

Já que eu centralizei as conexões em uma única classe, onde mais poderei configurar no Tomcat para corrigir isso ?

Oi gente, eu mesmo achei a resposta :lol:

O problema desse comportamento estranho não era do Tomcat e sim
do PostgreSQL, a solução encontrada foi criar o banco usando um
encode do nosso idioma.

List of databases
Name | Owner | Encoding
-----------±---------±----------
prod | root | LATIN1

O encode default é SQL_ASCII, que gerou todo esse problema.

prefira usar um encoding compativel com o java, como utf-8.

Usando o UNICODE eu tenho problemas no import de dados,
dando erros como esse:

ERROR: copy: line 1, Invalid UNICODE character sequence found (0xe7616f)

Já com LATIN1 até agora não tive problemas nenhum com o JAVA.

Estou tendo o mesmo problema da acentuação em JSPs e não são os dados vindos do banco de dados e sim simples textos escritos diretamente no HTML ou como resposta de alguma execução de um Scriptlet.

Ex: Funcionário=> Funcionário

Agradeço desde já,
Rodrigo Henrique

Como assim, “compativel com o Java”? Que eu saiba, a JVM eh compativel com mais ou menos todos os encodings que a maquina suporta… ou nao?