Resolvendo problemas de exibição de caracteres em aplicações web com Java

Há algumas semanas, realizei a migração de um projeto pessoal que havia feito durante a faculdade do Heroku para o Google Cloud, devido à extinção do plano gratuito.

O client do projeto Expat, criado usando Java, com Java Server Faces, Bootstrap e Prime Faces, estava com problemas na acentuação em algumas páginas, principalmente na visualização de mensagens de confirmação e erro no front-end. Isso acontecia mesmo com a metatag de charset correta nas páginas HTML.

A situação só foi corrigida com a adição de duas linhas no pom.xml, forçando o build da aplicação usando o charset UTF-8, dentro da tag <properties>. Abaixo o trecho de código utilizado no projeto EXPAT.

<project>
	...
	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
	</properties>
	...
</project>

O código do projeto EXPAT está disponível no meu GitHub.

Avatar de Matheus Misumoto