7
respostas

Definir encoding

Ao acessar o http://localhost:8080/topicos a formatação da resposta está diferente da apresentada na aula. Como faço para alterar o tipo de encoding?

7 respostas

Oi Isaac,

Você diz os acentos que não estão aparecendo corretamente?

Dá uma conferida no seu arquivo data.sql se os nomes estão com a acentuação correta.

Está sim... seguem os dados do meu arquivo data.sql

INSERT INTO USUARIO(nome, email, senha) VALUES('Aluno', 'aluno@email.com', '123456');

INSERT INTO CURSO(nome, categoria) VALUES('Spring Boot', 'Programação');
INSERT INTO CURSO(nome, categoria) VALUES('HTML 5', 'Front-end');

INSERT INTO TOPICO(titulo, mensagem, data_criacao, status, autor_id, curso_id) VALUES('Dúvida', 'Erro ao criar projeto', '2019-05-05 18:00:00', 'NAO_RESPONDIDO', 1, 1);
INSERT INTO TOPICO(titulo, mensagem, data_criacao, status, autor_id, curso_id) VALUES('Dúvida 2', 'Projeto não compila', '2019-05-05 19:00:00', 'NAO_RESPONDIDO', 1, 1);
INSERT INTO TOPICO(titulo, mensagem, data_criacao, status, autor_id, curso_id) VALUES('Dúvida 3', 'Tag HTML', '2019-05-05 20:00:00', 'NAO_RESPONDIDO', 1, 2);

E a resposta que eu tenho quando faço o get é esta:

[{"id":1,"titulo":"D�vida","mensagem":"Erro ao criar projeto","dataCriacao":"2019-05-05T18:00:00"},{"id":2,"titulo":"D�vida 2","mensagem":"Projeto n�o compila","dataCriacao":"2019-05-05T19:00:00"},{"id":3,"titulo":"D�vida 3","mensagem":"Tag HTML","dataCriacao":"2019-05-05T20:00:00"}]

Oi Isaac,

Estranho, era pra estar normal a acentuação, pois isso não precisa configurar no projeto.

Faz o seguinte: no eclipse, clique com o botão direito no arquivo data.sql e selecione a última opção (Properties).

Na tela que abriu, verifique na última opção qual é o encoding que está selecionado.

Deveria ser UTF8. Caso não seja, altere para o UTF-8 no campo Other.

Reinicie o projeto e teste novamente.

Já havia feito esse procedimento, mas continua da mesma forma. Como você importou o arquivo data.sql para o projeto?

Tenta o seguinte então Isaac,

Adiciona no seu application.properties a seguinte linha:

spring.datasource.sql-script-encoding=UTF-8

E veja se agora ele importa os registros com os acentos certinhos.

Adicionei no application.properties, mas continuou da mesma forma. Seguem abaixo os dados do arquivo e o Response Headers:

# datasource
spring.datasource.sql-script-encoding=UTF-8
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.url=jdbc:h2:mem:alura-forum
spring.datasource.username=sa
spring.datasource.password=

# jpa
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
spring.jpa.hibernate.ddl-auto=update

# h2
spring.h2.console.enabled=true
spring.h2.console.path=/h2-console

Response Headers:

Content-Type    application/json;charset=UTF-8
Date    Mon, 15 Jul 2019 13:50:13 GMT
Transfer-Encoding    chunked

Oi Isaac,

Deve ser algum outro detalhe então que não estamos percebendo.

Você consegue disponiblizar o projeto para eu dar uma olhadinha?

Pode ser via GitHub ou Google Drive/Dropbox.