Tomcat / Encoding – Forçando o Encode UTF-8 no Tomcat (Forcing Tomcat to use UTF-8 Character Set in Linux)

Recentemente estava passando por um problema no log de alguns sistemas, todas as acentuações estavam truncando, dificultando a leitura. Em nosso ambiente estavamos utilizando o Tomcat como servidor de aplicação, e percebemos que o sistema operacional não estava configurado com o charset UTF-8, como era um ambiente antigo e a equipe não tinha permissão para altera-lo ou ajustar o SO para o UTF-8, nossa unica opção foi procurar como alterar a aplicação para isso. O Tomcat por default vem configurado para usar o charset do SO porém o java nos permite forçar o encoding do sistema com a seguinte propriedade: file.encoding; Para altera-la basta editar o arquivo $TOMCAT_HOME/bin/catalina.sh e adicionar/editar a linha que define as variáveis do CATALINA_OPTS:

# -----------------------------------------------------------------------------
# Control Script for the CATALINA Server
#
# Environment Variable Prerequisites
#
#   Do not set the variables in this script. Instead put them into a script
#   setenv.sh in CATALINA_BASE/bin to keep your customizations separate.
#
#   [...]

CATALINA_OPTS="-Dfile.encoding=utf-8"

#   CATALINA_OPTS   (Optional) Java runtime options used when the "start",
#                   "run" or "debug" command is executed.
#                   Include here and not in JAVA_OPTS all options, that should
#                   only be used by Tomcat itself, not by the stop process,
#                   the version command etc.
#                   Examples are heap size, GC logging, JMX ports etc.
#	[...]

O argumento -Dfile.encoding também vale para qualquer aplicação java não necessariamente só no Tomcat, ou seja, também podemos utiliza-la da seguinte maneira:

java -jar MyApp.jar -Dfile.encoding=utf-8

Referências:
https://javarevisited.blogspot.com/2012/01/get-set-default-character-encoding.html
https://support.filecatalyst.com/index.php?/Knowledgebase/Article/View/370/9/forcing-tomcat-to-use-utf-8-character-set-in-linux

Help DEV – Analista desenvolvedor Java / Android https://helpdev.com.br/zarelli

Tomcat / Encoding – Forçando o Encode UTF-8 no Tomcat (Forcing Tomcat to use UTF-8 Character Set in Linux)

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

Rolar para o topo