Tudo o que você precisa saber sobre character encoding!

Achei esse fonte aqui na net.
Pode ajudar alguns.
Pra mim nao serviu pois eu teria q mudar toda a aplicação.

Cuidado windows não usa iso-8859-1!! Ele usa codepage 1352 (esse o número?), que possui diferenças em alguns caractéres como símbolo do euro.

Correção: o Windows usa “Windows-1252”.
Os arquivos q eu estou recebendo do windows estao variando, alguns chegam como UTF-8 e outros como ISO-8859-1.
Percebi que a os arquivos criados com WindowsXP em Portugues apresentaram esse problema, já os criados no Windows XP em Ingles não.
Tive q converter tudo no Linux pra UTF-8.
Uma aplicação rodando beleza no Windows copiada para o Linux apresentou 39 erros.
Convertendo os arquivos um a um no Linux consegui rodar a aplicação.
E a acentuação o que resolveu foi fazer um filtro no web.xml com uma classe convertendo o request.setCharacterEncoding(“latin1”);

A título de curiosidade: http://www.w3.org/International/O-charset-list.html

E apenas como desabafo, ou coisinha chata. ¬¬

…puts eu mudei( pra UTF-8, depois pra ISO-8859-1 e pra ISO-8859-2) os arquivos xml, os jsp, até o module_tracking do net beans, e nada!! eu tentei colocar UTF-16 nas qdo vou salvar o web.xml ele fala que não suporta essa versão… e eu continuo com esse problema com os caracteres…vc sabe como posso resolver isso??? vlw pela atenção cara!!!

Aproveitando este tópico… Haveria algum conversor que passasse de UTF-8 para ISO8859-1?

Sim, iconv.

bom, mas como eu faria para executar em batch?

Vai atras e pesquise sobre o assunto!! Você se quer viu que raios é o iconv? É um programa que faz isso em linha de comando - batch.

Sim, eu vi o que é o iconv. Quando eu disse batch, eu não me referia à linha de comando, mas sim à capacidade de converter todos os arquivos de um diretório recursivamente, por exemplo. Acho que não me expressei muito bem.

não seria o 850?

O fato de o vi interpretar os “enter” de alguns arquivos d bloco d notas do windows (.txt) como “^M” tem a ver com encoding tb?

Nao, isso eh o formato de arquivos texto diferente entre Unix, Windows e Macs.

[quote=silvionetto][code]
/**

  • Convert ISO8859-1 format string (which is the default sent by IE
  • to the UTF-8 format that the database is in.
    */
    public String toUTF8(String isoString)
    {
    String utf8String = null;
    if (null != isoString && !isoString.equals(""))
    {
    try
    {
    byte[] stringBytesISO = isoString.getBytes(“ISO-8859-1”);
    utf8String = new String(stringBytesISO, “UTF-8”);
    }
    catch(UnsupportedEncodingException e)
    {
    // As we can’t translate just send back the best guess.
    System.out.println("UnsupportedEncodingException is: " + e.getMessage());
    utf8String = isoString;
    }
    }
    else
    {
    utf8String = isoString;
    }
    return utf8String;
    }
    [/code]

[color=red]Mensagem do moderador: ao postar codigos utilize as tags [ code ] [ /code ].[/color][/quote]

Porra… tentei 325mil soluções p/ resolver um problema aqui de recebimento de texto de html form… nada funcionava.

Essa funfou de 1a!!! E a funçãozinha protinha já. Só colocar na classe e usar. Valeu mesmo!

[]'s,
Leo.

o fato de em JTextField … o uso da vírgula do teclado numerico ( a virgula do teclado normal aparece OK ) exibir um quadrado nos textFields ao utilizar o linux ( embora no proprio linux (debian)- terminal ou outros programas ela seja exibida normal ), tem haver com configuração de encoding da JVM ?
Ah! no windows aparece normal ! ( porque o sistema roda com cliente win ou linux )

Isso também acontece no próprio netbeans ! :stuck_out_tongue:


http://www.guj.com.br/posts/list/74566.java#392438

pessoal… sou noob…

e não sei resolver esse problema da vírgula.

Tenho que resolver sem alterar o código…

alguem me ajuda, por favor?

vlw!

Booooum…
Ressussitando…

Eu tou com um problema que, está mais pra ser problema de OS do que de servidor…

Eu tenho um CentOS que tem CPanel, apache, tomcat e firebird…

Eu conserto tudo… dudo bomba…
dai, num belo instante… tuuudo mela…

Reiniciar o apache não adianta, reiniciar o tomcat não adianta, reiniciar o firebird… não adianta também…
Reiniciar o servidor sim…

Alternativas que já usei:
*Incluir filtro
*Incluir encod aceitos no /etc/profile
*Incluir UTF-8 nos cabeçalhos

e…
A intermitência continua…
Alguem tem alguma boa dica?

[quote=proteus_adi]Booooum…
Ressussitando…

Eu tou com um problema que, está mais pra ser problema de OS do que de servidor…

Eu tenho um CentOS que tem CPanel, apache, tomcat e firebird…

Eu conserto tudo… dudo bomba…
dai, num belo instante… tuuudo mela…

Reiniciar o apache não adianta, reiniciar o tomcat não adianta, reiniciar o firebird… não adianta também…
Reiniciar o servidor sim…

Alternativas que já usei:
*Incluir filtro
*Incluir encod aceitos no /etc/profile
*Incluir UTF-8 nos cabeçalhos

e…
A intermitência continua…
Alguem tem alguma boa dica?[/quote]

Faltou apenas um pequeno detalhe: você explicar qual é o seu problema.
Será que não seria melhor criar um tópico novo?

Sobre esse assunto,

esse post está bem mais completo:

http://www.guj.com.br/posts/list/12456.java

fw

Pois eh…
O problema é justamente o problema do tópico…
Charset que hora funciona… ora não…

Eu reinicio o servidor e fica tudo bom…
ç é ç…

horas depois sem nenhum motivo aparente
ç vira ? pra novos registros e e registros que estão no DB viram ◘…

E isso pra tooodo o restante dos caracteres especiais…

O OS é um CENTOS Enterprise 5 i686…
O Tomcat é o 5.5, o Apache é o 1.3…

E, as soluções propostas ali que não implicavam em modificação dos meus fontes… eu já fiz…

Modificação de cabeçalho, de accept no form, filtro no web.xml, mudar o lang do OS e etc, etc…

:),
Agora tá mais explicadinho…
Alguma dica?