Voglio verificare se una stringa inviata dall'utente è uguale alla stringa nella mia chiave di risposta. A volte le parole coinvolgono accenti spagnoli (come in sábado), e questo rende la condizione sempre falsa.Accenti JavaScript/HTML/Unicode: á! = Á
Ho il registro Firebug $('#answer').val()
e si presenta come sábado
. (Lo á
proviene da un pulsante che inserisce il valore á
, se ciò è importante) mentre la registrazione della risposta dal tasto di risposta mostra sábado
(come l'ho scritto nella chiave di risposta effettiva).
Ho provato a sostituire il á
nel tasto di risposta con un normale á
, ma ancora non funziona, e si traduce in un diamante-punto interrogativo Unicode. Quando lo faccio e sostituisco anche il valore del pulsante che rende l'utente inviato á
, la condizione funziona correttamente, ma poi il pulsante, la stringa utente e la stringa di risposta hanno tutti il bizzarro Unicode domanda-diamante.
Ho anche provato a utilizzare á
in entrambi i punti e non è diverso dall'utilizzo di á
. Sia il mio HTML che Javascript stanno usando charset="utf-8"
.
Come posso risolvere questo?
Può darci qualche campione in jsfiddle.net ? –
Quindi sembra che in un caso si paragoni 's & aacute; bado' a' sábado', che è ovviamente 'false'. In un altro caso stai confrontando 's bado' con' sábado', che è anche 'false'. Sembra un semplice problema di codifica ...? – deceze
Cosa restituisce il valore '.length' di ciascuna stringa? Che ne dici di '.charAt (1)'? – Gabe