Caracteres especiais são mostrados erroneamente - Charset

Senhore(a)s,

Sou novo no SCADABR e tenho uma dúvida que talvez lhes pareça bem elementar, mas que não consigo resolver.

Os caracteres especiais (com acento, cedilha, i.e. á, ã, ç…) não estão aparecendo corretamente. Aparece um ponto de interrogação no lugar. Pelo que pesquisei, deve ser trocado o charset de UTF-8 para iso-8859-1.

Eu já fiz isso no arquivo web.xml e em todos outros que tenham a configuração de charset, mas continua sendo gerado os arquivos com UTF-8.

Saberiam me dizer como aplicar essa correção?

Obrigado.

Qual a versão do ScadaBR e do Java que você está utilizando?

Veja se a solução apresentada a partir dos 9 minutos resolve o seu problema

Obrigado, Celso. Infelizmente não resolveu. Eu já tinha aqueles parâmetros para UTF-8 e mesmo trocando para iso-8859-1 não funciona (em nenhum dos casos),

As versões são: Scada 1.2 e java version “23.0.1” 2024-10-15

No arquivo login.jsp, tem a seguinte linha:

<fmt:message key=“login.userId”/>

E o resultado do código html fica:

Usu�rio

Quando o esperado seria “Usuário”. Minha dúvida é: de onde vem o valor capturado pela key “login.userId”?

Vem de algum XML? Banco de dados? Qual?

Achei!. É no arquivo messages_pt.properties. Curioso que está escrito “Usuário” corretamente… troquei para “Usuário” e funcionou…

A versão do Java está errada. A versão deveria constar algo como 8 ou 1.8, mas não o Java 23… O que ocorre é que a partir do Java 9 houve mudanças na forma que a máquina Java lê os arquivos .properties e isso faz a codificação de caracteres ficar totalmente desregulada.

Além disso, o ScadaBR foi desenvolvido especificamente para a versão 8, e o uso com outras versões do Java pode apresentar bugs.

Eu recomendo alterar o caminho da JVM no Service Manager ou refazer a instalação utilizando o OpenJDK/Java 8. Deixo a seguir um vídeo de como instalar o ScadaBR 1.2 corretamente:

1 curtida