jprogrammer, leia o artigo do spolsky que eu ja linkei 5 bilhoes de vezes aqui no guj.
Esse artigo está ensinado o que é.
Mas nao esplica como resolver o problema.
Uma vez q no windows os arquivos de textos sao escritos como ISO-8859-1.
E no Linux o padrão é UTF-8.
Já mudei o cabeçario de todas jsp para UTF-8.
Já mudei os arquivos xml pra UTF-8.
No OC4J roda de boa. Quando jogo o deploy no Tomcat é que dá problema.
Com o filtro q eu passei, resolveu o problema no OC4J.
Mas no Tomcat não starta a aplicacao.
Dá uma falha no uri * do web.xml
Ai passei ele pra *.do .
Ai startou a aplicacao, mas ai nao funciona o filtro.
/**
* 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;
}
[color=red]Mensagem do moderador: ao postar codigos utilize as tags [ code ] [ /code ].[/color]
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 !
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?