Gostaria de saber se há alguma maneira de utilizar o charset Cp437… já que até aonde eu sei, não vem junto na instalação do java…
Problemas com Charset
4 Respostas
Na instalação completa do J2SDK (ou JDK) deve vir também um arquivo charsets.jar, que deve ter algo como 5.600.000 bytes e fica instalado em jre/lib.
Esse arquivo contém o CP 437, entre outros.
Sim, o arquivo realmente está ali, mas então pq eu não consigo usar o charset? Ocorre uma UnsupportedEncodingException quando ele tenta pegar o array de bytes de uma string, especificando o charset como Cp437
Então … se você está usando o Windows, por exemplo, há um monte de lugares onde a Sun instala as coisas:
em c:\arquivos de programas\java\j2re1.4.2_07
em c:\j2sdk1.4.2_07\jre
etc.
sendo que ele deixa o último java.exe que foi instalado em \windows\system32. Pode ser que esteja acontecendo algum problema de PATH (nem é de CLASSPATH). Onde é que você está com o charsets.jar?
class TestCharset {
public static void main (String[] args) throws Exception {
byte[] bytes = "Conceição".getBytes ("CP437");
}
}
Teste este programa com
c:\j2sdk1.4.2_07\bin\java -cp . TestCharSet
“\Arquivos de Programas\Java\j2re1.4.2_07\bin\java” -cp . TestCharSet
etc.
Ele realmente dá esta mensagem quando se elimina charsets.jar:
Exception in thread “main” java.io.UnsupportedEncodingException: Cp437
at sun.io.Converters.getConverterClass(Unknown Source)
at sun.io.Converters.newConverter(Unknown Source)
at sun.io.CharToByteConverter.getConverter(Unknown Source)
at java.lang.StringCoding.encode(Unknown Source)
at java.lang.String.getBytes(Unknown Source)
at TestCharset.main(TestCharset.java:3)
Respondi no canto errado. Malz :oops: