Seguinte pessoal, estou fazendo reengenharia de uma aplicação (desktop) e realizando alguns ajustes para passar de Windows para Linux (sentenças que gravam em arquivo mais ou menos assim: “C:\dir1\dir2” devem ser alteradas). Entretanto o grande problema é com os “warnings”, por exemplo:
warning: unmappable character for encoding UTF8
Aplicacao aplicacao; // objeto da aplica��
)
Bom sei do que se trata o warning, mas a pergunta é, como resolver isso da maneira mais eficiente, sem ter que ficar mudando os caracteres e passando para ‘\u000’? :thumbup:
a) Você pode fazer (ou achar) um programa que converta os arquivos-fonte que estão no “encoding” ISO-8859-1 (Windows) e os passe para UTF-8
b) Acho que você pode passar o “file.encoding” como opção do compilador, se você não puder alterar a codificação dos arquivos-fonte originais.
javac -J-Dfile.encoding=ISO-8859-1 seus.arquivos.fonte.Java
Faça direito ue.
Aprenda que todo arquivo deve ter seu encoding explicitamente considerado, se você usar o encoding do SO, a portabilidade vai mesmo pro saco, mas nesse caso o culpado é você.
Já trabalhei com sistemas Java que operam em windows, linux e solaris. Depois que aprende as duras penas como fazer direito, passou a funcionar sem o menor problema.
[quote=louds]
Já trabalhei com sistemas Java que operam em windows, linux e solaris. Depois que aprende as duras penas como fazer direito, passou a funcionar sem o menor problema.[/quote]
Bom então… acho que estou na fase das ‘duras penas’ :?
Mas a sua sugestão foi legal thingol, vou testar aqui. Abraços.
Também estou tendo esse problema, se configuro o meu Netbeans para UTF-8, quando compilo e rodo uma aplicação do Windows quando alerta (JOptionPane) que contenha caracteres especiais sai todo encrencado (cheio de sinais).
Tem como ajustar isso?
[quote=thingol]a) Você pode fazer (ou achar) um programa que converta os arquivos-fonte que estão no “encoding” ISO-8859-1 (Windows) e os passe para UTF-8
b) Acho que você pode passar o “file.encoding” como opção do compilador, se você não puder alterar a codificação dos arquivos-fonte originais.
javac -J-Dfile.encoding=ISO-8859-1 seus.arquivos.fonte.Java[/quote]
Thingol você é fera, funcionou, grande dica. Cinco estrelas!!!
[ edited ] Bom fica para a próxima, já havia avaliado infelizmente. :XD: [/ edited ]
Acho que vi algo parecido quando tinha um cara no forum.java.sun.com que perguntava como fazer para compilar os programas dele que tinham caracteres em chinês.
public static void main(String[] args) {
System.out.printf ("您好,世界! %n");
}