[Java]Applicazioni console e lettere accentate

Penso chiunque abbia creato un'applicazione sotto Windows per console, abbia verificato che le lettere accentate vengono sostituite da caratteri completamente diversi da quelli desiderati.

Questo è dovuto alle differenti codifiche in gioco: la codifica predefinita di Windows è Cp1252,mentre quella nell'ambiente DOS è cp850 (come mostra questa pagina).

Occorre quindi effettuare una conversione da una codifica all'altra per stampare sulla console le lettere accentate:

String aString = new String("che c'è?");
System.out.println(aString);

Charset Cp850 = Charset.forName("Cp850");
byte [] buffer = new byte[aString.length()];
buffer = aString.getBytes(Cp850);
String bString = new String(buffer);

System.out.println(bString);

In questo modo potete vedere come verrà stampata male la prima stringa e correttamente la seconda.

0 comments:

Byte Strike Blog - Designed by Posicionamiento Web | Bloggerized by GosuBlogger