Vai al contenuto

Benvenuto nella community di Italiamac Forum

Guest Image

Benvenuto su Italiamac, la più grande comunità AMUG italiana riconosciuta da Apple. La consultazione è libera. Se vuoi anche partecipare attivamente alle discussioni pubblicando post e messaggi puoi iscriverti gratuitamente, avrai molti vantaggi:

  • Pubblicare post, messaggi e richieste di aiuto
  • Fare amicizia e usare i messaggi privati fra utenti
  • Pubblicare annunci di vendita di usato
  • Usare tutte le funzioni della community

ISCRIVITI GRATIS


Change Mode






[java] carattere accentato


fede089

Recommended Posts

Ciao!

Ho creato il seguente file java d'esempio con xCode:

// file: Prova.java

public class Prova {
public static void main(String[] args) {
	char c = 'è';
}
}

compilo con javac Prova.java, ma mi dà i suguenti errori (i ^ non sono venuti sotto ciò che in realtà indicano):

Prova.java:3: unclosed character literal

char c = 'è';

^

Prova.java:3: illegal character: \174

char c = 'è';

^

Prova.java:3: unclosed character literal

char c = 'è';

^

3 errors

come se al posto di 'è' ci fosse 'aa'!

Sui computer dei miei amici che hanno Windows, il compilatore java lo compila senza problemi... secondo voi dov'è il problema??

versione javac: 1.6.0_17

versione OS: 10.6.2

Link di questo messaggio
Condividi su altri siti

Ad occhio solo un problema di encoding del file sorgente.

Non so come gestisca la cosa Xcode, io ti dico di Eclipse, vedi se ti aiuta...

Eclipse di base usa l'encoding in UNICODE (dato che è scritto in java). Tutto ok quando scrivo codice con eclipse, compilo con eclipse, ecc..

Se invece capita che prendo del codice da qualcuno che usa editor con encoding diverso (tipo UTF-8) allora i caratteri accentati danno problemi anche a me.

Semplicemente o prendo un programma qualsiasi che converta i formati (e converto il file .java da UTF-8 a UNICODE) oppure imposto Eclipse che faccia encoding nel formato corretto (in questo caso UTF-8) e il problema scompare.

Link di questo messaggio
Condividi su altri siti
converto il file .java da UTF-8 a UNICODE

UTF-8 è Unicode, solo che è una sua versione.

Molto più probabilmente il problema è che usa l'encoding UTF-16, che è sempre Unicode, ma usa 2 byte (16 bit) per registrare ogni carattere (al contrario dell'UTF-8 che usa 8 bit, quindi 1 byte).

Andando a settare una variabile char, che potrebbe contenere un solo byte, con 2 byte, è probabile che il compilatore dia errore.

Dovresti, come suggerito da canemacchina00, provare ad impostare la codifica su UTF-8.

Marco - Gallery

MacBook Nero 2.2 GHz Intel Core 2 Duo - 4 GB RAM - Mac OS X 10.6 Snow Leopard

Link di questo messaggio
Condividi su altri siti

Ok, è un problema di encoding del file, solo che ho visto che è Unicode (UTF-8), la codifica con cui tratta i caratteri java, ho provato con UTF-16, ma il risultato è uguale.

Funziona se NON uso Unicode, tipo Western (Mac OS Roman). Anche se da java mi sarei aspettato il contrario..

Ho provato Eclipse: molto interessante.. comunque per quanto riguarda la prova col carattere accentato ho creato un nuovo progetto, quindi una classe con il codice postato ed ha funzionato. Ho controllato la codifica del file, era Mac OS Roman. Ho provato a cambiarla con UTF-8 da dentro Eclipse, ho ri-compilato e funziona!!

Lo stesso file (UTF-8) compilato da terminale con javac da gli stessi errori descritti precedentemente.

Quando ho creato il progetto ho impostato la jvm da usare con quella di Mac OS X... come compilatore Eclipse usa il javac richiamabile da terminale o un altro che magari ha dentro il proprio "pacchetto"?

Grazie per le risposte.

Link di questo messaggio
Condividi su altri siti
  • 1 year later...

Io ho un problema simile..

Mi è stato passato un progetto in Java, creato su Win, che contiene dei file con chiave pubblica e privata (RSA). SU Win tutto ok, ma se provo ad utilizzare su Osx non va.

Sono sicuro che il problema è dovutao alla codifica... come posso risolvere? :(

Link di questo messaggio
Condividi su altri siti

Archived

Questa discussione è archiviata e chiusa a future risposte.

×
×
  • Crea Nuovo...

Info

Questo sito utilizza cookies, anche di terze parti e profilazione. Utilizzando il sito acconsenti al loro impiego e dichiari di aver letto e di accettare: Privacy Policy Termini di utilizzo