Problemas com Charset

4 respostas
E

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…

4 Respostas

T

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.

E

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

T

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)
matheuslmota

Respondi no canto errado. Malz :oops:

Criado 3 de março de 2005
Ultima resposta 1 de ago. de 2011
Respostas 4
Participantes 3