back to top

Lettere accentate e caratteri speciali in Javascript

Uno dei problemi più comuni per gli sviluppatori consiste nella gestione dei cosiddetti caratteri speciali all’interno delle pagine web. Per quanto riguarda HTML, il problma è facilmente risolvibile mediante il ricoprso alle cosiddette entità… ma in Javascript come è possibile gestire accenti e caratteri speciali all’interno delle stringhe?

Lettere accentate e Javascript: facciamo un esempio

Supponiamo, ad esempio, di dover scrivere, all’interno di una variabile Javascript, la frase "Qual’è la tua città di nascita?", stringa che poi dovremo stampare a video con un classico document.write oppure all’interno di un alert o di una finestra generata mediante il metodo confirm o prompt.

Se provassimo semplicemente ad utilizzare un codice come questo all’interno di un documento HTML con encoding UTF-8, infatti, otterremo dei caratteri strani al posto delle nostre lettere accentate:

var str = "Qual'è la tua città di nascita?";
alert(str);

L’errore è dovuto, appunto, alla errata gestione delle lettere accentate nel contento del charset della pagina web. L’utilizzo delle entità HTML, ovviamente, non è risolutivo se si tratta di variabili plain text (all’interno di un alert, ad esempio, non può essere usato codice HTML). Come risolvere, quindi, il problema delle lettere accentate in Javascript?

Conversione in Unicode

Per risolvere il problema e gestire correttamente accenti e caratteri speciali in Javascript è necessario ricorrere alla conversione dei caratteri in formato Unicode. Ad esempio la lattera accentata è deve essere sostituita con la seguente sequenza di caratteri \u00E8, mentre la lettera à deve essere sostituita con \u00E0. Alla luce di quanto appena detto possiamo rivedere il nostro codice d’esempio in questo modo:

var str = "Qual'\u00E8 la tua citt\u00E0 di nascita?";
alert(str);
Prova il codice

Se proviamo ad eseguire questo codice otterremo, differentemente dall’esempio precedente, un alert con un testo ben formattato.

Lettere accentate in formato Unicode

Di seguito una semplice tabella con l’elenco delle lettere accentate utilizzate più di frequente nella lingua italiana e delle rispettive rappresentazioni Unicode:

Accenti gravi

CarattereUnicode
à\u00E0
è\u00E8
ì\u00EC
ò\u00F2
ù\u00F9

Accenti acuti

CarattereUnicode
á\u00E1
é\u00E9
í\u00ED
ó\u00F3
ú\u00FA

Per convertire facilmente un testo contenente caratteri speciali ed accenti in Unicode, infine, vi invito ad utilizzare questo utilissimo strumento disponibile all’interno della nostra raccolta su Toolset.it

Pubblicitร 
Massimiliano Bossi
Massimiliano Bossi
Stregato dalla rete sin dai tempi delle BBS e dei modem a 2.400 baud, ho avuto la fortuna di poter trasformare la mia passione in un lavoro (nonostante una Laurea in Giurisprudenza). Adoro scrivere codice e mi occupo quotidianamente di comunicazione, design e nuovi media digitali. Orgogliosamente "nerd" sono il fondatore di MRW.it (per il quale ho scritto centinaia di articoli) e di una nota Web-Agency (dove seguo in prima persona progetti digitali per numerosi clienti sia in Italia che all'estero).

Leggi anche...

Infinite scroll, come programmarlo su AMP e su Web con Javascript

L'infinite scroll è una tecnica di design e navigazione...

Codice Fiscale: 5 javascript per la verifica e il calcolo

Il codice fiscale รจ un identificativo tributario univoco che...

Math.ceil() – Arrotondare per eccesso con Javascript

Il metodo ceil() dell'oggetto Math di Javascript è utilizzato...

Minificare Javascript: librerie e strumenti online per comprimere il sorgente JS

La minificazione è un processo abbastanza diffuso nell'implementazione delle...

Javascript: svuotare un campo input o una textarea con un click

Quando si fornisce agli utenti un modulo per l'inserimento...

6 video player HTML5 per il tuo sito web

Con il rilascio delle specifiche definitive per HTML5 molte...
Pubblicitร