Ho un problema di charset con stringa letterale in Java.Stringa letterale Java: set di caratteri errato in fase di esecuzione
Come si può vedere dall'immagine qui sotto, ho un oggetto statico chiamato TITULO con un parametro costante di stringa letterale "Título". Quando eseguo il programma, questa stringa viene letta come "TÃ-tulo". Non so perché.
esploro le impostazioni charset con impostazioni Eclipse progetto Proprietà finestra e Tomcat, ma tutti loro sono con UTF-8 come opzione.
Sono in esecuzione Tomcat 7, Eclipse Helios e Windows SO.
Qualcuno può aiutarmi con questo problema?
Sembra che la console sia impostata su un'altra codifica, cp1252 o latin1. –
Sostituisci "this.id = id" con "this.id = TITULO". Ora questo.id ha 7 caratteri o 6. –
@DanielFischer Non necessariamente la console, ma forse Eclipse in generale sta usando il set di caratteri sbagliato? Cosa succede se lasci che la JVM determini le dimensioni della stringa? Do 'int len = id.length();' e vediamo qual è il valore di 'len' nel debugger. Potrebbe essere una mancata corrispondenza della codifica JVM. Queste informazioni vengono trasferite su un socket durante il debug, quindi forse Eclipse sta cercando di determinarlo utilizzando una codifica diversa da Tomcat? A parte questo, non ne ho idea. : 3 – Brian