domingo, 28 de setembro de 2008

Conversão de Caracteres para HTML Entities

Recentemente recebi um layout em HTML com os textos usando acentuação: á é í ó ç e etc. Quando colocado no browser tive problemas para exibir esses caracteres corretamente, eles apareciam de forma ilegível.

Como eu estou no linux, não tenho como usar os recursos de softwares proprietários dreamweaver, editplus e etc que já fazem a conversão dos caracteres especiais para os chamados HTML Entities. Procurando na rede, descobri um projeto open-source no sourceforge chamado HTMLEntities que consiste em um conjunto de classes em java para fazer esse tipo de conversão.

Para baixar os códigos fontes e o jar já compilado do projeto, visite o endereço: http://sourceforge.net/projects/htmlentities/

Depois de adicionar o jar do HTMLEntities no seu projeto Java, é possível acessar os recursos de conversão de caracters por meio de uma classe estática. Veja um exemplo simples de conversão de caracteres acentuados para HTML Entities (SimpleConvert.java):

package com.htmlentity;
import com.tecnick.htmlutils.htmlentities.HTMLEntities;

public class SimpleConvert {

public static void main(String[] args) {
String text = "substituição de caracteres: á é í ó ú ç";

String html = HTMLEntities.htmlentities(text);

System.out.println("Caracteres convertidos: " + html);
}
}

O método htmlentities(String) da classe HTMLEntities é chamado estaticamente, reliza a corversão do texto passado como parâmetro e retorna o novo resultado (Linha 8 do código).

Essa conversão é util para desenvolvedores que necessitam colocar esse tipo de funcionalidade dentro de seus projetos java, ou mesmo webdesigners que precisam codificar seus textos em forma de HTML Entities.

Nenhum comentário: