Estou desenvolvendo um aplicativo em Java Se que é 100% dependente de String para funcionar e
preciso de uma forma para fixar um charset/encoding padrão.
Não quero ter que fazer isto em todas as Strings:
byte[] bytes = s.getBytes(“UTF-8”);
String texto = new String( bytes, “UTF-8” );
porque isto interfere diretamente na produtividade!
Obrigado pela boa vontade de me ajudar!
Cria um método pra encapsular a criação desses objetos então.
Entendo o que quer dizer, mas eu já programei 10.000 linhas de código e quero resolver o problema sem alterar o código existente.
Um exemplo do que já tentei:
try
{
String stringPrincipal = "ççaaéíê";
System.setProperty("file.encoding","UTF-8");
System.setProperty("encoding","UTF-8");
System.setProperty("sun.jnu.encoding","UTF-8");
String firstString = new String( stringPrincipal.getBytes() );
System.setProperty("file.encoding","ISO-8859-1");
System.setProperty("encoding", "ISO-8859-1");
System.setProperty("sun.jnu.encoding", "ISO-8859-1");
String secondString = new String( stringPrincipal.getBytes() );
Charset chs = Charset.defaultCharset();
String chasetName = chs.name();//charsetName é igual a UTF-8, mas deveria ser ISO-8859-1
if ( firstString.equals( secondString ) ){
//As String são iguais porque está caindo aqui, mas não deveria ser
int i = 1;
}
else
{
int i = 2;
}
}
catch ( Exception e )
{
}
Entendo o que quer dizer, mas eu já programei 10.000 linhas de código e quero resolver o problema sem alterar o código existente.
Um exemplo do que já tentei:
try
{
String stringPrincipal = "ççaaéíê";
System.setProperty("file.encoding","UTF-8");
System.setProperty("encoding","UTF-8");
System.setProperty("sun.jnu.encoding","UTF-8");
String firstString = new String( stringPrincipal.getBytes() );
System.setProperty("file.encoding","ISO-8859-1");
System.setProperty("encoding", "ISO-8859-1");
System.setProperty("sun.jnu.encoding", "ISO-8859-1");
String secondString = new String( stringPrincipal.getBytes() );
Charset chs = Charset.defaultCharset();
String chasetName = chs.name();//charsetName é igual a UTF-8, mas deveria ser ISO-8859-1
if ( firstString.equals( secondString ) ){
//As String são iguais porque está caindo aqui, mas não deveria ser
int i = 1;
}
else
{
int i = 2;
}
}
catch ( Exception e )
{
}
Configura a JVM para utilizar esse charset antes de sua inicialização.
Configura a variável de ambiente JAVA_TOOL_OPTIONS com o valor -Dfile.encoding=UTF8 e vê se funfa.
Pelo que eu li não é possivel alterar o charset default depois que a JVM é iniciada.
[quote=victormagno]Configura a JVM para utilizar esse charset antes de sua inicialização.
Configura a variável de ambiente JAVA_TOOL_OPTIONS com o valor -Dfile.encoding=UTF8 e vê se funfa.
Pelo que eu li não é possivel alterar o charset default depois que a JVM é iniciada.[/quote]
vlw, funcionou! obrigado!
Blz! Só altera o titulo do post pra resolvido… vlw!