Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Problema de codificação

Boa noite pessoal, tenho uma tabela que recebo dados de um banco Mysql.

O campo "descricao" está vindo com problema de codificação.

Por exemplo: a frase: "Descrição Procedimento." está como "Descrição Procedimento." Olhei no banco de dados mysql, e a frase está armazenada assim também: "Descrição Procedimento.".

Como posso corrigir este problema?

1 Solution

Accepted Solutions
Clever_Anjos
Employee
Employee

Utilize a função HTML_UnEncode

SQL

SELECT

HTML_UnEncode(Descricao) as Descricao,

outros campos

FROM suatabela;

View solution in original post

3 Replies
Clever_Anjos
Employee
Employee

Utilize a função HTML_UnEncode

SQL

SELECT

HTML_UnEncode(Descricao) as Descricao,

outros campos

FROM suatabela;

Not applicable
Author

A função apresentada no link acima estava apresentando um erro para mim. Executei esta função abaixo que encontrei em outro site e deu tudo certo. Mais uma vez obrigado Clever.

Vou deixar a função abaixo para quem precisar.

/*******************************************************************************************************************/

DELIMITER $$

DROP FUNCTION IF EXISTS `nomedoseubanco`.`HTML_UnEncode`$$

CREATE DEFINER=`usuariodobanco`@`localhost` FUNCTION `HTML_UnEncode`(x VARCHAR(255)) RETURNS varchar(255) CHARSET latin1

BEGIN

DECLARE TextString VARCHAR(255) ;

SET TextString = x ;

#quotation mark

IF INSTR( x , '"' )

THEN SET TextString = REPLACE(TextString, '"','"') ;

END IF ;

#apostrophe

IF INSTR( x , ''' )

THEN SET TextString = REPLACE(TextString, ''','"') ;

END IF ;

#ampersand

IF INSTR( x , '&' )

THEN SET TextString = REPLACE(TextString, '&','&') ;

END IF ;

#less-than

IF INSTR( x , '<' )

THEN SET TextString = REPLACE(TextString, '&lt;','<') ;

END IF ;

#greater-than

IF INSTR( x , '&gt;' )

THEN SET TextString = REPLACE(TextString, '&gt;','>') ;

END IF ;

#non-breaking space

IF INSTR( x , ' ' )

THEN SET TextString = REPLACE(TextString, ' ',' ') ;

END IF ;

#inverted exclamation mark

IF INSTR( x , '&iexcl;' )

THEN SET TextString = REPLACE(TextString, '&iexcl;','¡') ;

END IF ;

#cent

IF INSTR( x , '&cent;' )

THEN SET TextString = REPLACE(TextString, '&cent;','¢') ;

END IF ;

#pound

IF INSTR( x , '&pound;' )

THEN SET TextString = REPLACE(TextString, '&pound;','£') ;

END IF ;

#currency

IF INSTR( x , '&curren;' )

THEN SET TextString = REPLACE(TextString, '&curren;','¤') ;

END IF ;

#yen

IF INSTR( x , '&yen;' )

THEN SET TextString = REPLACE(TextString, '&yen;','¥') ;

END IF ;

#broken vertical bar

IF INSTR( x , '&brvbar;' )

THEN SET TextString = REPLACE(TextString, '&brvbar;','¦') ;

END IF ;

#section

IF INSTR( x , '&sect;' )

THEN SET TextString = REPLACE(TextString, '&sect;','§') ;

END IF ;

#spacing diaeresis

IF INSTR( x , '&uml;' )

THEN SET TextString = REPLACE(TextString, '&uml;','¨') ;

END IF ;

#copyright

IF INSTR( x , '&copy;' )

THEN SET TextString = REPLACE(TextString, '&copy;','©') ;

END IF ;

#feminine ordinal indicator

IF INSTR( x , '&ordf;' )

THEN SET TextString = REPLACE(TextString, '&ordf;','ª') ;

END IF ;

#angle quotation mark (left)

IF INSTR( x , '&laquo;' )

THEN SET TextString = REPLACE(TextString, '&laquo;','«') ;

END IF ;

#negation

IF INSTR( x , '&not;' )

THEN SET TextString = REPLACE(TextString, '&not;','¬') ;

END IF ;

#soft hyphen

IF INSTR( x , '&shy;' )

THEN SET TextString = REPLACE(TextString, '&shy;','­') ;

END IF ;

#registered trademark

IF INSTR( x , '&reg;' )

THEN SET TextString = REPLACE(TextString, '&reg;','®') ;

END IF ;

#spacing macron

IF INSTR( x , '&macr;' )

THEN SET TextString = REPLACE(TextString, '&macr;','¯') ;

END IF ;

#degree

IF INSTR( x , '&deg;' )

THEN SET TextString = REPLACE(TextString, '&deg;','°') ;

END IF ;

#plus-or-minus

IF INSTR( x , '&plusmn;' )

THEN SET TextString = REPLACE(TextString, '&plusmn;','±') ;

END IF ;

#superscript 2

IF INSTR( x , '&sup2;' )

THEN SET TextString = REPLACE(TextString, '&sup2;','²') ;

END IF ;

#superscript 3

IF INSTR( x , '&sup3;' )

THEN SET TextString = REPLACE(TextString, '&sup3;','³') ;

END IF ;

#spacing acute

IF INSTR( x , '&acute;' )

THEN SET TextString = REPLACE(TextString, '&acute;','´') ;

END IF ;

#micro

IF INSTR( x , '&micro;' )

THEN SET TextString = REPLACE(TextString, '&micro;','µ') ;

END IF ;

#paragraph

IF INSTR( x , '&para;' )

THEN SET TextString = REPLACE(TextString, '&para;','¶') ;

END IF ;

#middle dot

IF INSTR( x , '&middot;' )

THEN SET TextString = REPLACE(TextString, '&middot;','·') ;

END IF ;

#spacing cedilla

IF INSTR( x , '&cedil;' )

THEN SET TextString = REPLACE(TextString, '&cedil;','¸') ;

END IF ;

#superscript 1

IF INSTR( x , '&sup1;' )

THEN SET TextString = REPLACE(TextString, '&sup1;','¹') ;

END IF ;

#masculine ordinal indicator

IF INSTR( x , '&ordm;' )

THEN SET TextString = REPLACE(TextString, '&ordm;','º') ;

END IF ;

#angle quotation mark (right)

IF INSTR( x , '&raquo;' )

THEN SET TextString = REPLACE(TextString, '&raquo;','»') ;

END IF ;

#fraction 1/4

IF INSTR( x , '&frac14;' )

THEN SET TextString = REPLACE(TextString, '&frac14;','¼') ;

END IF ;

#fraction 1/2

IF INSTR( x , '&frac12;' )

THEN SET TextString = REPLACE(TextString, '&frac12;','½') ;

END IF ;

#fraction 3/4

IF INSTR( x , '&frac34;' )

THEN SET TextString = REPLACE(TextString, '&frac34;','¾') ;

END IF ;

#inverted question mark

IF INSTR( x , '&iquest;' )

THEN SET TextString = REPLACE(TextString, '&iquest;','¿') ;

END IF ;

#multiplication

IF INSTR( x , '&times;' )

THEN SET TextString = REPLACE(TextString, '&times;','×') ;

END IF ;

#division

IF INSTR( x , '&divide;' )

THEN SET TextString = REPLACE(TextString, '&divide;','÷') ;

END IF ;

#capital a, grave accent

IF INSTR( x , '&Agrave;' )

THEN SET TextString = REPLACE(TextString, '&Agrave;','À') ;

END IF ;

#capital a, acute accent

IF INSTR( x , '&Aacute;' )

THEN SET TextString = REPLACE(TextString, '&Aacute;','Á') ;

END IF ;

#capital a, circumflex accent

IF INSTR( x , '&Acirc;' )

THEN SET TextString = REPLACE(TextString, '&Acirc;','Â') ;

END IF ;

#capital a, tilde

IF INSTR( x , '&Atilde;' )

THEN SET TextString = REPLACE(TextString, '&Atilde;','Ã') ;

END IF ;

#capital a, umlaut mark

IF INSTR( x , '&Auml;' )

THEN SET TextString = REPLACE(TextString, '&Auml;','Ä') ;

END IF ;

#capital a, ring

IF INSTR( x , '&Aring;' )

THEN SET TextString = REPLACE(TextString, '&Aring;','Å') ;

END IF ;

#capital ae

IF INSTR( x , '&AElig;' )

THEN SET TextString = REPLACE(TextString, '&AElig;','Æ') ;

END IF ;

#capital c, cedilla

IF INSTR( x , '&Ccedil;' )

THEN SET TextString = REPLACE(TextString, '&Ccedil;','Ç') ;

END IF ;

#capital e, grave accent

IF INSTR( x , '&Egrave;' )

THEN SET TextString = REPLACE(TextString, '&Egrave;','È') ;

END IF ;

#capital e, acute accent

IF INSTR( x , '&Eacute;' )

THEN SET TextString = REPLACE(TextString, '&Eacute;','É') ;

END IF ;

#capital e, circumflex accent

IF INSTR( x , '&Ecirc;' )

THEN SET TextString = REPLACE(TextString, '&Ecirc;','Ê') ;

END IF ;

#capital e, umlaut mark

IF INSTR( x , '&Euml;' )

THEN SET TextString = REPLACE(TextString, '&Euml;','Ë') ;

END IF ;

#capital i, grave accent

IF INSTR( x , '&Igrave;' )

THEN SET TextString = REPLACE(TextString, '&Igrave;','Ì') ;

END IF ;

#capital i, acute accent

IF INSTR( x , '&Iacute;' )

THEN SET TextString = REPLACE(TextString, '&Iacute;','Í') ;

END IF ;

#capital i, circumflex accent

IF INSTR( x , '&Icirc;' )

THEN SET TextString = REPLACE(TextString, '&Icirc;','Î') ;

END IF ;

#capital i, umlaut mark

IF INSTR( x , '&Iuml;' )

THEN SET TextString = REPLACE(TextString, '&Iuml;','Ï') ;

END IF ;

#capital eth, Icelandic

IF INSTR( x , '&ETH;' )

THEN SET TextString = REPLACE(TextString, '&ETH;','Ð') ;

END IF ;

#capital n, tilde

IF INSTR( x , '&Ntilde;' )

THEN SET TextString = REPLACE(TextString, '&Ntilde;','Ñ') ;

END IF ;

#capital o, grave accent

IF INSTR( x , '&Ograve;' )

THEN SET TextString = REPLACE(TextString, '&Ograve;','Ò') ;

END IF ;

#capital o, acute accent

IF INSTR( x , '&Oacute;' )

THEN SET TextString = REPLACE(TextString, '&Oacute;','Ó') ;

END IF ;

#capital o, circumflex accent

IF INSTR( x , '&Ocirc;' )

THEN SET TextString = REPLACE(TextString, '&Ocirc;','Ô') ;

END IF ;

#capital o, tilde

IF INSTR( x , '&Otilde;' )

THEN SET TextString = REPLACE(TextString, '&Otilde;','Õ') ;

END IF ;

#capital o, umlaut mark

IF INSTR( x , '&Ouml;' )

THEN SET TextString = REPLACE(TextString, '&Ouml;','Ö') ;

END IF ;

#capital o, slash

IF INSTR( x , '&Oslash;' )

THEN SET TextString = REPLACE(TextString, '&Oslash;','Ø') ;

END IF ;

#capital u, grave accent

IF INSTR( x , '&Ugrave;' )

THEN SET TextString = REPLACE(TextString, '&Ugrave;','Ù') ;

END IF ;

#capital u, acute accent

IF INSTR( x , '&Uacute;' )

THEN SET TextString = REPLACE(TextString, '&Uacute;','Ú') ;

END IF ;

#capital u, circumflex accent

IF INSTR( x , '&Ucirc;' )

THEN SET TextString = REPLACE(TextString, '&Ucirc;','Û') ;

END IF ;

#capital u, umlaut mark

IF INSTR( x , '&Uuml;' )

THEN SET TextString = REPLACE(TextString, '&Uuml;','Ü') ;

END IF ;

#capital y, acute accent

IF INSTR( x , '&Yacute;' )

THEN SET TextString = REPLACE(TextString, '&Yacute;','Ý') ;

END IF ;

#capital THORN, Icelandic

IF INSTR( x , '&THORN;' )

THEN SET TextString = REPLACE(TextString, '&THORN;','Þ') ;

END IF ;

#small sharp s, German

IF INSTR( x , '&szlig;' )

THEN SET TextString = REPLACE(TextString, '&szlig;','ß') ;

END IF ;

#small a, grave accent

IF INSTR( x , '&agrave;' )

THEN SET TextString = REPLACE(TextString, '&agrave;','à') ;

END IF ;

#small a, acute accent

IF INSTR( x , '&aacute;' )

THEN SET TextString = REPLACE(TextString, '&aacute;','á') ;

END IF ;

#small a, circumflex accent

IF INSTR( x , '&acirc;' )

THEN SET TextString = REPLACE(TextString, '&acirc;','â') ;

END IF ;

#small a, tilde

IF INSTR( x , '&atilde;' )

THEN SET TextString = REPLACE(TextString, '&atilde;','ã') ;

END IF ;

#small a, umlaut mark

IF INSTR( x , '&auml;' )

THEN SET TextString = REPLACE(TextString, '&auml;','ä') ;

END IF ;

#small a, ring

IF INSTR( x , '&aring;' )

THEN SET TextString = REPLACE(TextString, '&aring;','å') ;

END IF ;

#small ae

IF INSTR( x , '&aelig;' )

THEN SET TextString = REPLACE(TextString, '&aelig;','æ') ;

END IF ;

#small c, cedilla

IF INSTR( x , '&ccedil;' )

THEN SET TextString = REPLACE(TextString, '&ccedil;','ç') ;

END IF ;

#small D', D

IF INSTR( x , 'D&#39; ' )

THEN SET TextString = REPLACE(TextString, 'D&#39; ','D') ;

END IF ;

#small e, grave accent

IF INSTR( x , '&egrave;' )

THEN SET TextString = REPLACE(TextString, '&egrave;','è') ;

END IF ;

#small e, acute accent

IF INSTR( x , '&eacute;' )

THEN SET TextString = REPLACE(TextString, '&eacute;','é') ;

END IF ;

#small e, circumflex accent

IF INSTR( x , '&ecirc;' )

THEN SET TextString = REPLACE(TextString, '&ecirc;','ê') ;

END IF ;

#small e, umlaut mark

IF INSTR( x , '&euml;' )

THEN SET TextString = REPLACE(TextString, '&euml;','ë') ;

END IF ;

#small i, grave accent

IF INSTR( x , '&igrave;' )

THEN SET TextString = REPLACE(TextString, '&igrave;','ì') ;

END IF ;

#small i, acute accent

IF INSTR( x , '&iacute;' )

THEN SET TextString = REPLACE(TextString, '&iacute;','í') ;

END IF ;

#small i, circumflex accent

IF INSTR( x , '&icirc;' )

THEN SET TextString = REPLACE(TextString, '&icirc;','î') ;

END IF ;

#small i, umlaut mark

IF INSTR( x , '&iuml;' )

THEN SET TextString = REPLACE(TextString, '&iuml;','ï') ;

END IF ;

#small eth, Icelandic

IF INSTR( x , '&eth;' )

THEN SET TextString = REPLACE(TextString, '&eth;','ð') ;

END IF ;

#small n, tilde

IF INSTR( x , '&ntilde;' )

THEN SET TextString = REPLACE(TextString, '&ntilde;','ñ') ;

END IF ;

#small o, grave accent

IF INSTR( x , '&ograve;' )

THEN SET TextString = REPLACE(TextString, '&ograve;','ò') ;

END IF ;

#small o, acute accent

IF INSTR( x , '&oacute;' )

THEN SET TextString = REPLACE(TextString, '&oacute;','ó') ;

END IF ;

#small o, circumflex accent

IF INSTR( x , '&ocirc;' )

THEN SET TextString = REPLACE(TextString, '&ocirc;','ô') ;

END IF ;

#small o, tilde

IF INSTR( x , '&otilde;' )

THEN SET TextString = REPLACE(TextString, '&otilde;','õ') ;

END IF ;

#small o, umlaut mark

IF INSTR( x , '&ouml;' )

THEN SET TextString = REPLACE(TextString, '&ouml;','ö') ;

END IF ;

#small o, slash

IF INSTR( x , '&oslash;' )

THEN SET TextString = REPLACE(TextString, '&oslash;','ø') ;

END IF ;

#small u, grave accent

IF INSTR( x , '&ugrave;' )

THEN SET TextString = REPLACE(TextString, '&ugrave;','ù') ;

END IF ;

#small u, acute accent

IF INSTR( x , '&uacute;' )

THEN SET TextString = REPLACE(TextString, '&uacute;','ú') ;

END IF ;

#small u, circumflex accent

IF INSTR( x , '&ucirc;' )

THEN SET TextString = REPLACE(TextString, '&ucirc;','û') ;

END IF ;

#small u, umlaut mark

IF INSTR( x , '&uuml;' )

THEN SET TextString = REPLACE(TextString, '&uuml;','ü') ;

END IF ;

#small y, acute accent

IF INSTR( x , '&yacute;' )

THEN SET TextString = REPLACE(TextString, '&yacute;','ý') ;

END IF ;

#small thorn, Icelandic

IF INSTR( x , '&thorn;' )

THEN SET TextString = REPLACE(TextString, '&thorn;','þ') ;

END IF ;

#small y, umlaut mark

IF INSTR( x , '&yuml;' )

THEN SET TextString = REPLACE(TextString, '&yuml;','ÿ') ;

END IF ;

RETURN TextString ;

END$$

DELIMITER ;