Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

marcelo2605

Problemas com o charset

Recommended Posts

Estou carregando arquivos .php usando query string, mas eles estão vindo com problemas nos caracteres com acento. O arquivo principal está com charset=iso-8859-1.

 

Como faço para esses arquivos serem carregados corretamente sem ter que incluir um

 

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

 

adicional na página

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como você está fazendo isto? Está dando include dos arquivos passados pela URL?

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que a função QueryString faz (ela não é nativa do PHP)?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Serra, a função é essa:

 

<?php
        function QueryString(&$get, $inicio, $pasta){
               $get         = (isset($get)) ? strip_tags(trim($get)) : '';
               $regex       = '/(http|www|.php|.asp|.net|.gif|.exe|.jpg|.html|.htm)/i';
               $paginaHome  =  "{$pasta}/{$inicio}.php";
               $paginaAtual = "{$pasta}/{$get}.php";
               if(empty($get) || preg_match($regex, $get) || !file_exists($paginaAtual)){
                    include($paginaHome);
                 }else{
                   include($paginaAtual);
                 }
       }
?>

 

Na página, eu uso o include para chamá-la.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se você tem problemas ao passar strings para a url, utilize essa função urlencode ou urldecode, não lembro exatamente qual, mas utilize-a antes de passar os parâmetros por get.

Compartilhar este post


Link para o post
Compartilhar em outros sites

esteva achando que seu problema era outro...

Quando você carrega arquivos separados, todos devem estar em um único formato, seja utf8 ou iso.

Verifica qual o formato do arquivo principal e qual o formato do seu arquivo.

 

Você está testando em servidor local ou online?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gabriel, estou usando charset=iso-8859-1 somente no arquivo que carrega os includes. Nos arquivos a serem carregados, não coloco charset para que não fique repetido no código. Estou no servidor local.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Além do charset existe o file encoding que é a codificação do arquivo em si, veja se todos estão como ansi ou utf-8 (no seu caso seria melhor ansi).

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aconteceu uma coisa estranha: coloquei no arquivo php que seria carregado

 

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

 

E a acentuação ficou correta. Então retirei as linhas para que a página principal não ficasse com duas <head> e continuou funcionando.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O dia que você fizer isso:

  • Banco em UTF-8
  • Tabelas e campos de texto com character set utf8 e collate utf8_general_ci
  • Conexões do MySQL em UTF8
  • Página em UTF-8

 

 

Os seus problemas com acentuação vao acabar

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.