Ao tentar gravar no banco postgre uma string tamanho 60 ele grava normalmente, mais se no meio da string tiver algum caracter acentuado ele retorna este erro:
ERROR: value too long for type character varying(60)
se tento gravar string de 50 caracteres ela grava mesmo que tenha acentuação.
acentuação aumenta o lenght no postgre?
como resolver este problema?
Uso Spring e hibernate.
Uma das possibilidades é de que seu DATABASE no PostgreSQL tenha sido criado com encoding SQL_ASCII, fazendo com que caracteres acentuados ‘gastem’ 2 bytes em vez de 1.
Se utilizar encoding LATIN1 ou UTF8 o problema não deve acontecer.
Se não for isso pode ser erro na conversão da própria página web, nesse caso verifique se o caracter acentuado da String no java está ficando com 2 caracteres em vez de 1 antes mesmo de persistir.
Quando tento gravar direto no banco funciona direitinho.
Verifiquei e meu banco ta latin1.
até na hora que passo a string para o pojo está tudo certo.
aguma ideia?
Estava lendo algo sobre escape() e unescape().
Alguem saberia me dizer como usa-los?