segunda-feira, 5 de novembro de 2012

Como colocar acentuação em alerts javascript


Me deparei com um problema ao programar um site com funções em javascript que me tirou o sono para resolver.
Ao escrever um alert com acentuação eis que o javascript tem problemas para formatar. Tentei usar o estilo html para ver se resolveria e nada.
Pesquisando a internet consegui encontrar uma tabela de códigos que substituem os acentos, segue abaixo:

á = \u00e1
à = \u00e0
â = \u00e2
ã = \u00e3
ä = \u00e4
Á = \u00c1
À = \u00c0
 = \u00c2
à = \u00c3
Ä = \u00c4
é = \u00e9
è = \u00e8
ê = \u00ea
ê = \u00ea
É = \u00c9
È = \u00c8
Ê = \u00ca
Ë = \u00cb
í = \u00ed
ì = \u00ec
î = \u00ee
ï = \u00ef
Í = \u00cd
Ì = \u00cc
Î = \u00ce
Ï = \u00cf
ó = \u00f3
ò = \u00f2
ô = \u00f4
õ = \u00f5
ö = \u00f6
Ó = \u00d3
Ò = \u00d2
Ô = \u00d4
Õ = \u00d5
Ö = \u00d6
ú = \u00fa
ù = \u00f9
û = \u00fb
ü = \u00fc
Ú = \u00da
Ù = \u00d9
Û = \u00db
ç = \u00e7
Ç = \u00c7
ñ = \u00f1
Ñ = \u00d1
& = \u0026
' = \u0027

Basta substituir o código acima onde deveria haver a acentuação.
Ex:
Na frase:  alert("O campo nome é de preechimento obrigatório ") escreva;
                alert("O campo nome \u00e9 de preenchimento obrigat\u00f3rio");
Dica retirada do blog: http://infoblemas.blogspot.com.br/2012/08/acentos-em-alert-box-javascript.html

19 comentários:

  1. Maravilha, obrigado pela informação.

    ResponderExcluir
    Respostas
    1. function acentuarAlerts(mensagem)
      {
      //Paulo Tolentino
      //Usar dessa forma: alert(acentuarAlerts('teste de acentuação, essência, carência, âê.'));
      //
      mensagem = mensagem.replace('á', '\u00e1');
      mensagem = mensagem.replace('à', '\u00e0');
      mensagem = mensagem.replace('â', '\u00e2');
      mensagem = mensagem.replace('ã', '\u00e3');
      mensagem = mensagem.replace('ä', '\u00e4');
      mensagem = mensagem.replace('Á', '\u00c1');
      mensagem = mensagem.replace('À', '\u00c0');
      mensagem = mensagem.replace('Â', '\u00c2');
      mensagem = mensagem.replace('Ã', '\u00c3');
      mensagem = mensagem.replace('Ä', '\u00c4');
      mensagem = mensagem.replace('é', '\u00e9');
      mensagem = mensagem.replace('è', '\u00e8');
      mensagem = mensagem.replace('ê', '\u00ea');
      mensagem = mensagem.replace('ê', '\u00ea');
      mensagem = mensagem.replace('É', '\u00c9');
      mensagem = mensagem.replace('È', '\u00c8');
      mensagem = mensagem.replace('Ê', '\u00ca');
      mensagem = mensagem.replace('Ë', '\u00cb');
      mensagem = mensagem.replace('í', '\u00ed');
      mensagem = mensagem.replace('ì', '\u00ec');
      mensagem = mensagem.replace('î', '\u00ee');
      mensagem = mensagem.replace('ï', '\u00ef');
      mensagem = mensagem.replace('Í', '\u00cd');
      mensagem = mensagem.replace('Ì', '\u00cc');
      mensagem = mensagem.replace('Î', '\u00ce');
      mensagem = mensagem.replace('Ï', '\u00cf');
      mensagem = mensagem.replace('ó', '\u00f3');
      mensagem = mensagem.replace('ò', '\u00f2');
      mensagem = mensagem.replace('ô', '\u00f4');
      mensagem = mensagem.replace('õ', '\u00f5');
      mensagem = mensagem.replace('ö', '\u00f6');
      mensagem = mensagem.replace('Ó', '\u00d3');
      mensagem = mensagem.replace('Ò', '\u00d2');
      mensagem = mensagem.replace('Ô', '\u00d4');
      mensagem = mensagem.replace('Õ', '\u00d5');
      mensagem = mensagem.replace('Ö', '\u00d6');
      mensagem = mensagem.replace('ú', '\u00fa');
      mensagem = mensagem.replace('ù', '\u00f9');
      mensagem = mensagem.replace('û', '\u00fb');
      mensagem = mensagem.replace('ü', '\u00fc');
      mensagem = mensagem.replace('Ú', '\u00da');
      mensagem = mensagem.replace('Ù', '\u00d9');
      mensagem = mensagem.replace('Û', '\u00db');
      mensagem = mensagem.replace('ç', '\u00e7');
      mensagem = mensagem.replace('Ç', '\u00c7');
      mensagem = mensagem.replace('ñ', '\u00f1');
      mensagem = mensagem.replace('Ñ', '\u00d1');
      mensagem = mensagem.replace('&', '\u0026');
      mensagem = mensagem.replace('\'', '\u0027');

      return mensagem;
      }

      Excluir
  2. Muito obrigado meu caro, graças a você eu não perdi o sono.
    Enfatizando:
    Muito obrigado.

    ResponderExcluir
  3. Acho muito importante compartilhar informações. Eu também fico feliz quando encontro alguma dica útil, por isso repasso para a comunidade.
    Abraços!

    ResponderExcluir
  4. vlw Marcelo! era exatamente igual ao que eu precisava, parabéns!

    ResponderExcluir
  5. Compartilhamento de informações, é a base para uma T.I. mais funcional.
    Abraço a todos!

    ResponderExcluir
  6. Muito obrigado Marcelo, parabéns por compartilhar!

    ResponderExcluir
  7. Galera,

    Uma solução mais conveniente para o caso: http://www.guj.com.br/java/287521-resolvido---problema-com-acento-no-javascript-como-resolver-

    Mesmo assim obrigado por compartilhar a informação. =)

    ResponderExcluir
  8. Interessante a informação, vou procurar saber melhor. Agradeço por compartilhar.

    ResponderExcluir
  9. Simplesmente, fantástico! Eu procurei por esta informação por muito tempo... Você merece um troféu!

    ResponderExcluir
  10. Galera mais para os caracteres especiais como ° ou º ou ª ñ existe esses códigos?

    ResponderExcluir
  11. type="text/javascript" src="js/funcoes.js" CHARSET="ISO-8859-1"

    ResponderExcluir
  12. Valeu!! Eu estava tentando resolver, mas não conseguia, pois estou iniciando nesse tipo de trabalho. Obrigado por ajudar com esse maravilhoso post. Já\ deixei nos meus Favoritos.

    ResponderExcluir
  13. Showw!!!!

    Me ajudou bastante aqui!

    Obrigado!

    ResponderExcluir