Convertendo e validando String em UTF-8
Informacoes rapidas.
Passei por alguns problemas relacionados a codificacao de texto, String para os intimos, entao resolvi comentar sobre o assunto.
Deixarei a teoria para quem realmente entende, por exemplo: http://pt.wikipedia.org/wiki/UTF-8
Criando String UTF-8
Uma simples String codificada em formato UTF-8 é facilmente criada desta forma:
String txt = “Texto não verificado a codificacao”;
String txtUTF8 = new String(txt.getBytes(“UTF-8″));
Validando String UTF-8
Um forma muito simples de verificar se um texto esta realmente com todos os seus caracteres em formato UTF-8 é converter o texto para UTF-8 e compara o texto resultante ao texto original.
String txt = “Texto não verificado a codificação”;
String txtUTF8 = new String(txt.getBytes(“UTF-8″));
if (!txt.equals(txtUTF8)) {
System.out.println(“Texto original nao esta em UTF-8″);
}
Validando XML UTF-8
try {String XML = “<?xml version=’1.0′ encoding=’UTF-8′?><root><filho atributo=’valorAtributo’>Ythalo Rossy</filho></root>”;DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();DocumentBuilder builder = builderFactory.newDocumentBuilder();Document document = builder.parse(new ByteArrayInputStream(XML.getBytes()));if (document != null) {String encoding = document.getXmlEncoding();if (encoding == null || encoding.equalsIgnoreCase(“”) || (!encoding.equalsIgnoreCase(“UTF-8″))) {System.out.println(“XML nao codificado em UTF-8″);} else {System.out.println(“XML codificado em UTF-8″);}}} catch (ParserConfigurationException e) {} catch (SAXException e) {} catch (IOException e) {}