Java no Linux

Pessoal,
Estou precisando muito de ajuda.

Desenvolvo sites com Java/JSP/Hibernate/Mysql/Eclipse/TomCat.
Após um tempo tomei coragem instalei o linux (Fedora) e resolvi abandonar o windows. Porém estou tendo algums problemas.

  1. Os registros em banco de dados que eu gravo estão perdendo a acentuação no Mysql e estragando o site. Existe alguma configuração no Hibernate de regionalidade para gravar os acentos?

  2. Quando o WebDesigner me passa os arquivos HTML feitos no windows e eu coloco no site tomcat linux ele funciona perfeito, porém quando eu edito o HTML para JSP e coloco a programação pelo Eclipse ele perde os acentos.

O encoding do eclipse no linux é UTF-8, estou achando que é isso que está zoando. Alguém já passou por esses problemas?

Como vc adininhou, o problema eh o encoding sim. Porem, nao necessarimante do Eclipse, mas sim o sistema operacional. Sobre o mysql, voce pode passar o encoding a ser usado na string de conexao, atraves dos parametros “characterEncoding=XXXX” e “useUnicode=true|false”.

Se voce esta usando KDE ou Gnome, nos “painel de controle” deles ha uma parte para mudar o encoding da maquina.

Rafael

Rafael,

Obrigado pela ajuda. Eu estava perdido dentro de tantos encodings… UTF-8, ISO-8859-1, windows-1252, latin1

pelo que notei o latin1 é o próprio IDO-8859-1

primeiro eu decidi utilizar o UTF-8 (escolhi porque o eclipse sempre abre os arquivos no linux assim) e depois eu fiz as seguintes alterações no sistema.

HTML

JSP (redundante)
<%@page contentType=“text/html; charset=UTF-8” %>

MYSQL
CREATE TABLE tabela (
codigo int(10) unsigned NOT NULL default ‘0’,

) DEFAULT CHARSET=utf8;

ARQUIVOS DE CONTAINER TOMCAT (DataSorce e Realm)
jdbc:mysql://vida/sindsef?autoReconnect=true&useUnicode=true&characterEncoding=utf-8&mysqlEncoding=utf8

o Hibernate use o DataSource e foi resolvido em cascata.

Mas ficou um problema… tem telas no meu sistema que eu uso JDBC ao inves de Hibernate. Nessas telas eu obtenho a conexao do DataSource via JNDI e monto a clausula do javax.sql.Statement com stmt.setString()
Nessas telas antigas gravou errado com utf no JSP/HTML e tive que voltar para o ISO-8859-1.

Estou com um problema desse jeito. Vou ter que deixar metade das paginas com UTF-8 e outra metade (paginas antigas sem componentes por traz usando hibernate) deixarei o ISO-8859-1.

Existe alguma outra configuração para esse problema do JDBC. (vale lembrar que o DataSource do Hibernate e do JDBC é o mesmo no tomcat)

abraço

Rafael,

Qual é o ideal e mais usado, UTF-8 ou ISO-8859-1? qual dá menos problema?

obrigado

Com UTF-8 voce consegue representar todos os caracteres do conjunto Unicode sem problemas. Na duvida, fique com ele.