Alguma vez você teve que no javascript dar um alert de textos em outros idiomas? Com caracteres especiais? Do tipo Vyplňte?
Me deparei com essa situação na semana passada: num site multi-idiomas, apareceu a versão tcheca (sem trocadilhos) das páginas. E um formulário era validado via javascript com alert. Achei que não teria problema: projeto todo setado com UTF-8 como encoding, charset do html também… quando fui dar o alert, todo os caracteres especiais apareceram com aquela famosa interrogração envolta de um ouros preto. Pesquisei um pouco no Google evi algumas soluções.
A que eu adotei – depois de testar todas – foi a de usar o código unicode do caracter. Para isso, só é necessário no javascript escrever barra invertida + u + código unicode.
Por exemplo, o código unicode do cedilha (ç) é 00e7. Então, um alerto do cedilha ficaria:
alert("u00e7");
No caso daquela frase acima, o alerto ficou assim:
alert("Vypl\u0148te")
Pelo que li, dá também para usar o código hexadecimal do caracter; não testei!
Existem tabelas de conversão de caracteres, mas para facilitar tenho usado essa página: http://hamstersoup.com/javascript/regexp_character_class_tester.html
Você coloca o texto e ele converte para unicode (entre outros códigos).