JDO1, JPOX, PostgreSQL e enconding

3 respostas
D

Olá!

Estou tendo problemas com encoding numa aplicação WEB que acessa um banco PostgreSQL pelo JPOX 1.0, implementação JDO1.
A primeira vez que tive problemas bastou criar o banco com encoding LATIN1 que tudo ficou muito bem.
Depois disso eu migrei a aplicação do NetBeans 3.6 para o 4.0.
Juntei minhas classes do meu modelo em um jar e atualizei no servidor, e coincidentemente, o problema de encoding “voltou”.

Todas páginas indicam charset=ISO-8859-1. A ação de gravação é realizado em um servlet.
Então, testei outras codificações no banco e todas falharam para mostrar letras com acento. E percebi que se eu alterar o registro através de SQL, os objetos mostram os acentos corretamente.

Parece que o problema é apenas na hora de escrever para o banco.

Alguém disponível para dar uma luz? :roll:

3 Respostas

D

O contexto é muito específico e pode ser uma enorme quantidade de coisas, colocar mensagem aqui foi quase uma ultima tentativa, depois de vasculhar tudo que eu podia :slight_smile:

Eu já havia testado o proposto aqui http://www.guj.com.br/posts/list/19288.java
Mas por algum motivo não funcionou com

jdbc:postgresql://servidor/banco?charSet=latin1

Revisei varias coisas, recompilei e atualizei todas classes no servidor e modificando mais uma vez a string de conexão:

jdbc:postgresql://servidor/banco?charSet=LATIN1

Começou funcionar corretamente.
Essas coisas são muito estranhas. Mas por via das dúvidas nunca mais vai faltar o parâmetro charSet nas minhas conexões JDBC :wink:

D

Explicando o que aconteceu.

Juntei minhas classes do meu modelo em um jar e atualizei no servidor, e coincidentemente, o problema de encoding “voltou”.
(…)

Revisei varias coisas, recompilei e atualizei todas classes no servidor e modificando mais uma vez a string de conexão:

Code:
jdbc:postgresql://servidor/banco?charSet=LATIN1

Começou funcionar corretamente.


Isto foi apenas coincidência, o problema voltou inexplicavelmente semana passada. E o que resolveu o problema foi reiniciar o Tomcat.

A causa: a inicialização do servidor linux. :shock:

Conclusão: Ainda não verificamos integralmente, mas parece que na inicialização do servidor, o Tomcat é iniciado antes das configurações de localização sejam ativadas. Isso é uma coisa que pode deixar qualquer um louco :slight_smile:
Num momento tudo funciona tranquilo, no outro pára de funcionar :wink:

R

Eu preciso saber a string de conexão do Netbeans com o banco Postgre.
O banco do postgre roda na porta 5432 da minha maquina, tenhho dois bancos o servidor e o localhost. Conecto só a um por vez, mas msm assim não adianta. Não consigo.
No Netbeans vou em Execução/Nova conexão preencho os campos assim:

[b]Nome: JDBC - ODBC Bridge
Drive: sun.jdbc.odbc.JdbcOdbcDriver
URL: jdbc:postgre://localhost:5432/jc[b]

(jc = nome so meu banco no portgre) mais o nome e usuário do banco.
É exibida a msg de erro: “Impossíveladicionar conexão, não pode estabelecer conexão com a URl usando este drive(Unable to find a suitable drive)”

Alguem pode me ajudar???

Estou usando o Windows Xp

Criado 26 de janeiro de 2005
Ultima resposta 11 de mai. de 2007
Respostas 3
Participantes 2