Erro na apresentação dos acentos

1. Erro na apresentação dos acentos

Jefferson Estanislau da Silva
jeffestanislau

(usa Debian)

Enviado em 30/01/2017 - 17:20h

Boa tarde,

Estou com um problema bem estranho e preciso de ajuda pra resolver.
O caso é o seguinte, estou atualizando um sistema web/php que já tinha uma base pronta, desta forma, utilizei os dados tabelas já existente, e algumas mais novas.

Tabelas antigas estão neste formato:
InnoDB utf8_general_ci
ENGINE=InnoDB DEFAULT CHARSET=utf8

Tabelas novas neste:
MyISAM utf8_general_ci
ENGINE=MyISAM DEFAULT CHARSET=utf8

Perceba que as tabelas estão usando o CHARSET utf8 e COLLATE utf8_general_ci, o tipo que está diferente: InnoDB e MyISAM

PROBLEMA:
* Quando executo a query nos dados cadastrados, ao puxar os dados da tabela antiga, os caracteres acentuados aparecem com símbolos, por exemplo: Cont�bil
* Porém, a query nas tabelas novas, os acentos aparecem normalmente: Contábil

Fazendo uma pesquisa, utilizei os comandos abaixo, para fazer o acerto da acentuação na chamada da tabela antiga.

mysql_query("SET NAMES 'utf8'");
mysql_query("SET character_set_connection=utf8");
mysql_query("SET character_set_client=utf8");
mysql_query("SET character_set_results=utf8");

Isso acertou o problema do acento na tabela antiga, porém, após rodar esse comando, os acentos que apareciam normalmente na tabela nova agora aparecem com símbolos, isto é, o problema se inverteu.

Observação: Não posso, modificar a estrutura das tabelas e colocar tudo no mesmo padrão, pois tem outras funções rodando no sistema antigo que utilizam essas tabelas, e estas ainda não foram atualizadas. Assim, se eu modificar, pode afetar outras partes.

Pergunta: Então, como fazer a chamada da tabela antiga, de forma que seus caracteres sejam corrigidos, sem afetar os caracteres da tabela nova?



  






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts