[pgbr-geral] Remover caracteres escondido
Bom dia a todos. Versão do Postgres: PostgreSQL 9.5.8 on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609, 64-bit Collate da base: pt_BR.UTF-8 Identifiquei alguns registros em uma tabela que quando faço a pesquisa o editor me mostra o registro como: EDERSON DA SILVA Quando eu faço a consulta da seguinte maneira convert_to(a.nome, 'UTF8') o resultado é o seguinte: EDERSON DA SILVA\342\200\213 Eu estou fazendo uma consulta com OpenQuery no SQL Server e está me retornando erro. Precisava remover estes "caracteres escondidos". Como posso fazer um "replace" para estes casos? Obrigado. ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Remover caracteres escondido
Em 18 de agosto de 2017 10:09, Zan escreveu: > Bom dia a todos. > > Versão do Postgres: PostgreSQL 9.5.8 on x86_64-pc-linux-gnu, compiled by > gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609, 64-bit > > Collate da base: pt_BR.UTF-8 > > Identifiquei alguns registros em uma tabela que quando faço a pesquisa o > editor me mostra o registro como: EDERSON DA SILVA > > Quando eu faço a consulta da seguinte maneira convert_to(a.nome, 'UTF8') o > resultado é o seguinte: EDERSON DA SILVA\342\200\213 > > Eu estou fazendo uma consulta com OpenQuery no SQL Server e está me > retornando erro. Precisava remover estes "caracteres escondidos". > > Como posso fazer um "replace" para estes casos? > > Obrigado. > > ___ > pgbr-geral mailing list > pgbr-geral@listas.postgresql.org.br > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral bom dia ja tive esse problema, e utilize a seguinte função. --função para substituir caracteres especiais CREATE OR REPLACE FUNCTION retira_acentuacao1(p_texto text) RETURNS text AS $BODY$ Select translate($1, 'áâãäåaaaÁÂÃÄÅAAAèééêëeEEEÉEEìíîïìiiiÌÍÎÏÌIIIóôõöoooÒÓÔÕÖOOOùúûüÙÚÛÜçÇ<>!@#$%¨*()_+={}[]?;:|*~^´`¨æÆø£Øƒªº¿®½¼ßµþýÝ€§¬©¢¥¤ðÐÞÞ¶ ', --no final tem tbm o 144 da tabela ascii 'áâãaÁÂÃAèééêeeEEEÉEEìíîiìiiiÌÍÎIÌIIIóôõÒÓÔÕùúûuÙÚÛUçÇ ' ); $BODY$ LANGUAGE sql VOLATILE COST 100; -- Douglas Fabiano Specht ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Remover caracteres escondido
On 18/08/2017 10:57, Douglas Fabiano Specht wrote: bom dia ja tive esse problema, e utilize a seguinte função. --função para substituir caracteres especiais CREATE OR REPLACE FUNCTION retira_acentuacao1(p_texto text) RETURNS text AS $BODY$ Select translate($1, 'áâãäåaaaÁÂÃÄÅAAAèééêëeEEEÉEEìíîïìiiiÌÍÎÏÌIIIóôõöoooÒÓÔÕÖOOOùúûüÙÚÛÜçÇ<>!@#$%¨*()_+={}[]?;:|*~^´`¨æÆø£Øƒªº¿®½¼ßµþýÝ€§¬©¢¥¤ðÐÞÞ¶ ', --no final tem tbm o 144 da tabela ascii 'áâãaÁÂÃAèééêeeEEEÉEEìíîiìiiiÌÍÎIÌIIIóôõÒÓÔÕùúûuÙÚÛUçÇ ' ); $BODY$ LANGUAGE sql VOLATILE COST 100; Douglas, no meu caso não deu certo. Este bendito caractere (\342\200\213) é uma "?". ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Remover caracteres escondido
2017-08-18 11:03 GMT-03:00 Zan : > On 18/08/2017 10:57, Douglas Fabiano Specht wrote: > >> bom dia >> ja tive esse problema, e utilize a seguinte função. >> >> >> >> --função para substituir caracteres especiais >> >> CREATE OR REPLACE FUNCTION retira_acentuacao1(p_texto text) >>RETURNS text AS >> $BODY$ >> Select translate($1, >> 'áâãäåaaaÁÂÃÄÅAAAèééêëeEEEÉEEìíîïìiiiÌÍÎÏÌIIIóôõöoooÒÓÔÕ >> ÖOOOùúûüÙÚÛÜçÇ<>!@#$%¨*()_+={}[]?;:|*~^´`¨æÆø£Øƒªº¿®½¼ßµþýÝ€§¬©¢¥¤ðÐÞÞ¶ >> ', --no final tem tbm o 144 da tabela ascii >> >> 'áâãaÁÂÃAèééêeeEEEÉEEìíîiìiiiÌÍÎIÌIIIóôõÒÓÔÕùúûuÙÚÛUçÇ >> ' >>); >> $BODY$ >> LANGUAGE sql VOLATILE >> COST 100; >> > > Douglas, no meu caso não deu certo. Este bendito caractere (\342\200\213) > é uma "?". Na função informada pelo colega, não existe o caracter '\', você terá que acrescentar na função!?! > > > ___ > pgbr-geral mailing list > pgbr-geral@listas.postgresql.org.br > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > *Lembre-se de que ao evitar o desperdício, além de economizar dinheiro com papel e tinta, você também ajuda o nosso planeta. Bom para seu bolso, melhor para o mundo!* ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Remover caracteres escondido
Em 18/08/2017 11:03, Zan escreveu: On 18/08/2017 10:57, Douglas Fabiano Specht wrote: bom dia ja tive esse problema, e utilize a seguinte função. --função para substituir caracteres especiais CREATE OR REPLACE FUNCTION retira_acentuacao1(p_texto text) RETURNS text AS $BODY$ Select translate($1, 'áâãäåaaaÁÂÃÄÅAAAèééêëeEEEÉEEìíîïìiiiÌÍÎÏÌIIIóôõöoooÒÓÔÕÖOOOùúûüÙÚÛÜçÇ<>!@#$%¨*()_+={}[]?;:|*~^´`¨æÆø£Øƒªº¿®½¼ßµþýÝ€§¬©¢¥¤ðÐÞÞ¶ ', --no final tem tbm o 144 da tabela ascii 'áâãaÁÂÃAèééêeeEEEÉEEìíîiìiiiÌÍÎIÌIIIóôõÒÓÔÕùúûuÙÚÛUçÇ ' ); $BODY$ LANGUAGE sql VOLATILE COST 100; Douglas, no meu caso não deu certo. Este bendito caractere (\342\200\213) é uma "?". ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral Existe no contrib do PostgreSQL uma função 'unaccent' que tem mais regras que a função que o colega Douglas passou. Talvez possas testar ela? ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Remover caracteres escondido
Bom dia. eu tive um problema parecido e resolvi assim. pegue seu exemplo para testar. SELECT convert_from('EDERSON DA SILVA\342\200\213'::bytea, 'utf8'); Resultado "EDERSON DA SILVA" 2017-08-18 11:19 GMT-03:00 Luís Roberto Weck : > > > Em 18/08/2017 11:03, Zan escreveu: > >> On 18/08/2017 10:57, Douglas Fabiano Specht wrote: >> >>> bom dia >>> ja tive esse problema, e utilize a seguinte função. >>> >>> >>> >>> --função para substituir caracteres especiais >>> >>> CREATE OR REPLACE FUNCTION retira_acentuacao1(p_texto text) >>>RETURNS text AS >>> $BODY$ >>> Select translate($1, >>> 'áâãäåaaaÁÂÃÄÅAAAèééêëeEEEÉEEìíîïìiiiÌÍÎÏÌIIIóôõöoooÒÓÔÕ >>> ÖOOOùúûüÙÚÛÜçÇ<>!@#$%¨*()_+={}[]?;:|*~^´`¨æÆø£Øƒªº¿®½¼ßµþýÝ€§¬©¢¥¤ðÐÞÞ¶ >>> ', --no final tem tbm o 144 da tabela ascii >>> 'áâãaÁÂÃAèééêeeEEEÉEEìíîiìiiiÌÍÎIÌIIIóôõÒÓÔÕùúûuÙÚÛUçÇ >>> ' >>>); >>> $BODY$ >>> LANGUAGE sql VOLATILE >>> COST 100; >>> >> >> Douglas, no meu caso não deu certo. Este bendito caractere (\342\200\213) >> é uma "?". >> >> ___ >> pgbr-geral mailing list >> pgbr-geral@listas.postgresql.org.br >> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral >> > > Existe no contrib do PostgreSQL uma função 'unaccent' que tem mais regras > que a função que o colega Douglas passou. Talvez possas testar ela? > > ___ > pgbr-geral mailing list > pgbr-geral@listas.postgresql.org.br > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > -- Manuel Alejandro Garcia Mellado Ingeniero Ejecución en Informática e computación Concepcion - Chile VIII Region del Bio - Bio ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Remover caracteres escondido
On 18/08/2017 11:22, Manuel Garcia wrote: Bom dia. eu tive um problema parecido e resolvi assim. pegue seu exemplo para testar. SELECT convert_from('EDERSON DA SILVA\342\200\213'::bytea, 'utf8'); Resultado "EDERSON DA SILVA" Manuel, bom dia. Não deu certo, continua aparecendo o "caractere escondido". ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Remover caracteres escondido
On Fri, Aug 18, 2017 at 11:03 AM Zan wrote: Douglas, no meu caso não deu certo. Este bendito caractere (\342\200\213) é uma "?". Acho que o que você quer é esconder os caracteres não imprimíveis da saída: select regexp_replace(atributo, '[^[:print:]]', '') from tabela; -- Arthur Nascimento - tureba ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral