Pessoal, tenho uma página em JSP feita em JBuilder e acessando o Firebird via ODBC, quando insiro dados no formulário usando acentos dá a seguinte mensagem:
“StandardWrapperValve[debugjsp]: Servlet.service() for servlet debugjsp threw exception
javax.servlet.ServletException: GDS Exception. arithmetic exception, numeric overflow, or string truncation
Cannot transliterate character between character sets”
seguinte, você tem que criar a conexão JDBC especificando qual o charset utilizado no banco de dados, eu mandei uma vez um exemplo sobre isto aqui pro guj mesmo
protected void execute() {
Connection c = getConnection("sysdba","masterkey","172.18.4.3/3050:/home/gdb/teste_fb1.gdb");
ResultSet r = execSQL(c,"select * from teste_acento");
try{
while(r.next()){
System.out.println(r.getString(1));
}
}catch(Exception e){
e.printStackTrace();
}
}
}
[/code]
o parametro lc_ctype indica o charset utilizado, é só utilizar o mesmo do banco de dados que resolve o problema, este problema ocorre por que o default do java é UTF-8 e o default do FB depende do SO do servidor