Caracteres estranhos no banco de dados - resolvido

Utilizamos o postgres 9.5 e eclpise STS. Mas salvando um registro no banco de dados ele está salvando com caracteres estranhos

banco de dados

O que pode ser ?

Fiz uma consulta no banco e até então está normal

Após fazer a consulta no banco de dados e o retorno via JSON:
após buscar

Ao clica em salvar no html, coloquei um debug no eclipse, olha como está o nome, já esquisito
Como chega na aplicação antes de chegar no banco de dados

acredito que não seja uma boa opção salvar no banco com acentuação, caracteres especiais, justamente
por causa deste problema. mas tenta alterar o Collation do banco. veja aqui:
https://www.postgresql.org/docs/9.5/static/multibyte.html

O problema não é no seu banco e sim na aplicação.

O banco consegue salvar caracteres especiais, porém sua aplicação não consegue ler.

Coloque o Padrão da sua aplicação UTF -8 que irá aparecer normalmente.

2 curtidas

Sem pelo menos postar o código HTML e js dessa parte fica mais difícil te ajudarem.

Como @Rodrigo_Marden falou, não tem nada de estranho no banco, no seu próprio print do banco está com acento. Teu front-end que está enviando com problema.

Isto que imaginei. O problema está aplicação. Mas o que devo fazer para colocar o padrão da aplicação para UTF-8.

Utilizo SPRING com thymeleaf.

Início do HTML

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org"
	xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
	xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity4">
<head>
<title>Nota Fiscal Eletrônica de Serviços</title>
<link rel="shortcut icon" th:href="@{/resources/img/iconeDesif.ico}"
	type="image/x-icon" />
<meta charset="utf-8">
<meta name="viewport"
	content="width=device-width, initial-scale=1, maximum-scale=1">
<meta name="keywords"
	content="app, responsive, jquery, bootstrap, dashboard, admin">
<link th:include="jsCss/css" th:remove="tag"></link>
<link th:include="jsCss/js" th:remove="tag"></link>
</head>

Configuração do Thymeleaf

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.ViewResolver;
import org.thymeleaf.ITemplateEngine;
import org.thymeleaf.extras.springsecurity4.dialect.SpringSecurityDialect;
import org.thymeleaf.spring4.SpringTemplateEngine;
import org.thymeleaf.spring4.templateresolver.SpringResourceTemplateResolver;
import org.thymeleaf.spring4.view.ThymeleafViewResolver;
import org.thymeleaf.templatemode.TemplateMode;
import org.thymeleaf.templateresolver.ITemplateResolver;

import nz.net.ultraq.thymeleaf.LayoutDialect;

@Configuration
public class ThymeleafConfig {

	@Autowired
	private ApplicationContext applicationContext;

	@Bean
	public ViewResolver thymeleafViewResolver(ITemplateEngine templateEngine) {
		ThymeleafViewResolver viewResolver = new ThymeleafViewResolver();
		viewResolver.setTemplateEngine(templateEngine);
		viewResolver.setCharacterEncoding("UTF-8");
		return viewResolver;
	}

	@Bean
	public ITemplateEngine templateEngine(ITemplateResolver templateResolver) {
		SpringTemplateEngine templateEngine = new SpringTemplateEngine();
		templateEngine.setTemplateResolver(templateResolver);
		templateEngine.setEnableSpringELCompiler(true);
		templateEngine.addDialect(new LayoutDialect());
		templateEngine.addDialect(new SpringSecurityDialect());
		return templateEngine;
	}

	@Bean
	public ITemplateResolver templateResolver() {
		SpringResourceTemplateResolver templateResolver = new SpringResourceTemplateResolver();
		templateResolver.setApplicationContext(this.applicationContext);
		templateResolver.setTemplateMode(TemplateMode.HTML);
		templateResolver.setPrefix("/WEB-INF/paginas/");
		templateResolver.setSuffix(".html");
		templateResolver.setCharacterEncoding("UTF-8");
		templateResolver.setCacheable(false);
		return templateResolver;
	}
}

O que pode ser ?

http://www.linhadecodigo.com.br/artigo/3534/como-declarar-charset-em-html-e-outras-linguagens.aspx

Coloque UTF-8
Não sei se faz alguma diferença de fato, mas por não estar funcionando agora, deve ser isso.

Não funcionou. Olhei o código fonte do guj.com.br e está assim:

Nem informando assim também:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>

Da uma lida ai, mesmo problema que o seu, pode ser que isso resolva.

Passei a ação de inserir e alterar via ajax/jquery e não deu mais problema