Olá galera!
Estou com um pequeno( talvez até grande), sei que parece idêntico a outros tópicos já criados tanto aqui como em outros fóruns, porém pesquisando lá e aqui não consegui recolher informações para a resolução do meu problema.
Se trata de acentuação no PHPMYADMIN(Mysql).
Acontece que criei uma pagina que pega informações e joga dentro de um banco de dados.
1º obs: Não sei se o PHP joga os dados dentro da Tabela já com a acentuação errada.
2º obs: Talvez o PHP jogue de forma correta e o proprio Mysql converta para o erro.
Uma curiosidade:
Na pagina que recebe os dados ele pega titulo e texto:
Quando ele recebe o titulo ele salva no banco de dados com o erro e o texto também, agora na hora de imprimir em uma segunda tela o titulo e o texto sai da forma correta, mesmo no banco de dados estando com esses símbolos: e = é ç = cedilha ú ô
O que já fiz para tentar resolver esse problema:
1-Mudei de Latin1 para UTF8 e vice e versa (Agora ele está com o utft8)
2-Meu editor está salvo como o utf8 e no codigo do html tem a lang=pt-br e meta com o codigo recebendo utf8 também.
Alguém sabe como posso fazer? Uso o Wamp como base de dados e Sublime Text 2 como editor.
Obrigado desde já para aqueles que ajudarão.
cara isso é uma treta infinita.
Primeiro o browser tem que detectar e enviar as strings com p charset correto. Depois tem que garantir que vc nunca converte pra outro charset mesmo que sem querer
primeiro seria bom vc estudar o que é UTF-8. estudar mesmo.
segundo é pensar que o que vc salvou talvez nao de para recuperar.
terceiro: forçe UTF-8 em todos os lugares.
a. os seus headers http devem dizer que o charset é utf-8
https://www.w3.org/International/articles/http-charset/index
b. force a tag form a usar o atributo accept-charset com utf-8
c. adicione isso em todos os seus html head’s <meta charset="UTF-8">
d. force o encoding do conteudo das suas paginas ser UTF-8 ( abra com esses editores e veja se o encoding é diferente, só por garantia )
e. force conectar no banco de dados com o charset correto
f. force a database a usar charset utf-8
g. Force as tabelas a usar charset utf-8
faça testes e mais testes. Inspecione o request com o developers tools do chrome até descobrir onde pode estar o(s) problema(s)
Ps: eu sugeri utf-8, vc pode usar qq coisa. Eu gosto de utf-8
se alguem forçar o encoding do browser pra ser qq outra coisa ai LAVE SUAS MÃOS pq não da pra ser paranoico o suficiente e as vezes é impossivel detectar o charset ( leia-se na maioria das vezes )