| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/06/2005 16:41:55
|
fabioebnerPJ
Entusiasta Java
![[Avatar]](/images/avatar/0)
Membro desde: 28/04/2005 00:00:00
Mensagens: 19
Offline
|
Galera preciso saber como eu posso mexer com esses tipos de caracteres no linux.. tipo preciso saber se a letra passada e uma dessas abaixo..
{"À","Á","Â","Ã","Ä","Å","È","É","Ê","Ë","Ì","Í","Î","Ï","Ò","Ó","Ô","Õ","Ö","Ù","Ú","Û","Ü"};
ja tentei com a propria letra e nao funciona.. nao sei se da pra mexer com o codigo ASCII de cada uma. alguem sabe um jeito de mexer com eles sem dar problema (linux e windows) preciso desse help urgente..
Att, Fabio Ebner
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/06/2005 17:21:50
|
fbelmiraPJ
What is classpath?
![[Avatar]](/images/avatar/0)
Membro desde: 18/05/2005 00:00:00
Mensagens: 6
Offline
|
Oi tua pergunta está um pouco vaga, mexer como???? passar de onde para onde?????
me adiantando, no linux vc tem que mexer no locale quando por exemplos esses caracteres são passados pelas mensagens, como por exemplo Cliente/Servidor e principalmente quando as plataformas são Linux -> Windows e vice-versa...
E dependendo da sua distribuição linux o tratamento do locale eh diferente... mas a principio, para o linux reconhecer esses caracteres vc tera que setar as seguinte variáveis...
export LANG=pt_BR.iso88591
export LC_ALL=pt_BR.iso88591
No debian, tivemos que colocar no profile...
e se vc esta usando banco de dados ainda existe um outro tratamento ... ou seja, explica melhor o problema...
Espero que ajude,
beijos
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/06/2005 08:58:31
|
fabioebnerPJ
Entusiasta Java
![[Avatar]](/images/avatar/0)
Membro desde: 28/04/2005 00:00:00
Mensagens: 19
Offline
|
Entao.. nos aqui usamos o red Hat 8(servidor).. e windows 2000 ( estacoes) o problema e o seguinte.. tenho uma classe que faz a fonetica de um nome.. e em determinada hora dessa classe tem o seguinte metodo
public static String substituirVogais(String _palavra){
String _arrayBusca[] = new String[]{"À","Á","Â","Ã","Ä","Å","È","É","Ê","Ë","Ì","Í","Î","Ï","Ò","Ó","Ô","Õ","Ö","Ù","Ú","Û","Ü"};
String _arrayTroca[] = new String[]{"A","A","A","A","A","A","E","E","E","E","I","I","I","I","O","O","O","O","O","U","U","U","U"};
for(int _contador = 0; _contador < _arrayBusca.length; _contador++){
_palavra = _palavra.replaceAll(_arrayBusca[_contador],_arrayTroca[_contador]);
}
return _palavra;
} que nada mais faz do que transformar os varios tipos de vogais com acentuacao em vogais sem acentuacao.. e estou com problema na hora de compilar.. qdo eu compilo pelo window ele compila normal. mas qdo eu passo para o linux e vou compilar ele mostra q o erro esta nessa linha.. so q ele mostra uns ? do lado das vogais.. porque eu tenho a mesma rotina feita em PHP so q eu utilizo o valor ASCII dos caracteres. dai funciona perfeito.. mas nao consegui recuperar o valor ASCII em java.. espero que vc tenha me entendi..
e obrigado pela ajuda
tenho a tela de erro se vc quiser dar uma olhada.. esta em
http://www.dnasolution.com.br/teste/erro.jpg
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/06/2005 10:16:31
|
diegodrumondPJ
JavaChild
![[Avatar]](/images/avatar/1)
Membro desde: 15/08/2004 00:00:00
Mensagens: 100
Localização: 81427317
Offline
|
tenta usar isso:
ae vc vai ter os caracteres em int.. ae qndo for usar eles em algum lugar usa
acho q resolve seu problema...
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/06/2005 15:52:42
|
fbelmiraPJ
What is classpath?
![[Avatar]](/images/avatar/0)
Membro desde: 18/05/2005 00:00:00
Mensagens: 6
Offline
|
Esse erro nao tem NADA haver com o seu código..., seu código está corretíssimo, existem inumeras maneiras de resolver esse seu problema, e a sua maneira eh uma delas... mesmo fazendo de outro jeito esse erro VAI acontecer, porque isso eh "problema" do linux....
Então deixa eu tentar de explicar mais uma coisa, o erro ".... unmappable character for econding UTF8" está falando que o locale do seu linux está setado para caracteres, como o povo aqui fala, "americano", logo ele NAO RECONHECE os nossos caracteres, os acentuados. Para que isso aconteca, voce tem que "avisar" ao linux que caracteres ele terá que "ler", no nosso caso eh o portugues_brasil respeitando a iso 88591 (onde os caracteres acentuados estao), portanto sugiro que voce de os comandos que falei pra voce, ou seja,
export LANG=pt_BR.iso88591
export LC_ALL=pt_BR.iso88591
esses comandos são dados na shell que vc vai compilar seu sistema e toda vez que vc abrir uma shell nova terá que colocar esses comandos, mas caso vc queira deixar isso default, voce coloca isso no seu arquivo .bashrc (arquivo oculto) que você o encontra no seu home "~", voce coloca da seguinte maneira no final do arquivo
LANG=pt_BR.iso88591
LC_ALL=pt_BR.iso88591
export LANG LC_ALL
Estou certa que depois que vc fizer isso seu sistema pode até da erro, mas certamente sera OUTRO erro.
e mais uma vez, espero que tenha ajudado
beijos
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/06/2005 15:58:26
|
fbelmiraPJ
What is classpath?
![[Avatar]](/images/avatar/0)
Membro desde: 18/05/2005 00:00:00
Mensagens: 6
Offline
|
ah... e mais uma coisa...
para de compilar seu sistema como "super-usuário" (root), isso eh muito perigoso...
beijos..
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/06/2005 19:30:24
|
gdeusPJ
Smalltalk
![[Avatar]](/images/avatar/0)
Membro desde: 04/04/2003 00:00:00
Mensagens: 1
Offline
|
Para remover os acentos tente este código:
Só testei em WinXP, SUSE e Mandrake e funcionou bem.
* Editado: Lembre-se de utilizar BBCode em seus códigos - Matheus :joia:
|
|
|
 |
|
|
|
|