Boa noite, tenho uma aplicação java pronta e desenvolvida em Windows, a pouco tempo migrei para o Debian 8 por motivos de trabalho, e meu aplicativo fica desregulado para a nova plataforma linux, palavras com acento ficam com o simbolo de ¨?¨ a tela fica toda fora de forma, a posição e os tamanhos dos componentes (apesar de estarem nas especificações originais) ficam fora da posição. Se alguém tiver alguma ideia sobre como resolver isso, além de refazer tudo, eu ficaria grato.
Você tá gerando o .jar no windows e abrindo com 2 clicks no linux, ou tá rodando pela IDE nos dois?
Vai no terminal do linux e digita java -version e cola aqui o que aparecer.
R
Rodrigo_Prado1
Estou rodando pelos dois, tenho o arquivo .Jar e também rodo pela IDE
É isso que aparece no meu terminal ¨java version "1.8.0_121"
Java™ SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot™ 64-Bit Server VM (build 25.121-b13, mixed mode)¨
S
staroski
Isso é devido ao character encoding, configura sua IDE para usar UTF-8 tanto no Windows quanto no Linux
Creio que não está utilizando gerenciadores de layout.
L
lvbarbosa
Nem me toquei do encoding, tens razão!
Eu achei que poderia ser um daqueles JDKs/Runtime que as vezes vem no Linux por padrão ao invés do da Oracle ou o OpenJDK.
R
Rodrigo_Prado1
E como que eu posso resolver esse problema? nunca tive que fazer isso antes, então estou meio perdido
L
lvbarbosa
Se os caracteres que estão aparecendo como ? são escritos no código, como em
label.setText("É, á, ç, ú");
você pode ir nas configurações da IDE e setar o algoritmo de character-encoding para UTF-8, e recompilar o código.
R
Rodrigo_Prado1
Mudei pra UTF-8, mas ele continua do mesmo jeito
L
lvbarbosa
Sinceramente não sei o que mais podemos alterar, porque isso nunca aconteceu comigo. Enquanto a gente espera alguém que manja aparecer, podemos ir tentando outras coisas para facilitar a resolução do problema.
Cria projeto novo, só com uma classe e um método main, e coloca um
System.out.println("É á í ú");
pra gente ver o que aparece no terminal, se sai com acento certo ou sai algo estranho como uma interrogação.
R
Rodrigo_Prado1
Mas ai que é o estranho, quando o código foi montado no linux ele sai com acentos, o problema é código feito em outro OS
L
lvbarbosa
Então, o arquivo deve estar em UTF8 quando é compilado em outro OS! O algoritmo de encoding utilizado no Windows geralmente não é UTF8 por padrão.
R
Rodrigo_Prado1
Sim, acho que pelo jeito tenho que reescrever onde tem acento, e na próxima lembrar de mudar o projeto pra UTF-8