segunda-feira, agosto 13, 2012

Acentos em caixas de alerta Javascript


Olá, baseado no artigo anterior, criei uma função para automatizar as mensagens exibidas nas caixas de alerta do javascript com o comando "json_encode" do PHP.

Por exemplo:

<?php $palavra = substr(json_encode("Açúcar\nUnião"),1,-1); ?>
<script language="javascript" type="text/javascript">
alert('<? echo $palavra; ?>');
</script>

executá-la diretamente no javascript:

<script language="javascript" type="text/javascript">
alert('<? echo substr(json_encode("Açúcar\nUnião"),1,-1); ?>');
</script>

ou criar uma função:

function acentounicode($palavra)
{
   $ palavra = substr(json_encode($ palavra ),1,-1);
    return $ palavra;
}

<script language="javascript" type="text/javascript">
alert('<? echo acentounicode("Açúcar\nUnião"); ?>');
</script><?php

O comando "substr" serve para retirar as aspas duplas inseridas na mensagem pelo comando "json_encode".


Acentos em Alert box - Javascript


Esta é para quem, assim como eu, sempre teve problemas de acentuação de caracteres nas caixas de alerta do javascript em suas páginas: substitua o acento pelo seu código em Unicode.

Por exemplo:

alert('Este é um teste de acentuação em um Alert Box.');

Mensagem substituída:

alert(' Este \u00e9 um teste de acentua\u00e7\u00e3o em um Alert Box .');


Segue a tabela de codificação a ser utilizada:

á = \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

(Adaptado do blog "Programando sem Cafeína" - http://programandosemcafeina.blogspot.com.br/2007/04/caracteres-especiais-representados-em.html#comment-form)