1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Problema com a codificação ?

Discussão em 'Web Development' iniciada por The Dealer, 29 de Maio de 2009. (Respostas: 11; Visualizações: 707)

  1. The Dealer

    The Dealer Power Member

    Guardo (por exemplo) a seguinte tabela deste modo:

    Código:
    CREATE TABLE IF NOT EXISTS Tabela ( 
      child int(11) NOT NULL auto_increment, 
      nome char(60), 
    )ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=11 ;
    
    E quando faço um print em PHP onde vai buscar o conteudo do campo nome (depois do mysql_fetch_assoc) aparece-me assim:

    Mestrado em Sistemas de Informa��o

    Portanto tudo o que é cedilhas e acentos, vai ao ar. Qual será o problema?
     
  2. Estás a utilizar na página o charset iso-8859-1?

    Código:
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
     
  3. tonebiclas

    tonebiclas Power Member

    no ficheiro .php deves ter o encoding como UTF-8, muda para ANSI ( se não souberes como fazer isso, pegas no notepad++ e vais ao menu "formatar" e metes "converter para ANSI" )

    vê também o charset da página caso tenhas
     
  4. The Dealer

    The Dealer Power Member

    Não, mas agora já está bom :)

    Apago o que lá tinha?

    Código:
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    
     
  5. Sim, podes eliminar a linha com o antigo charset (utf-8).
     
  6. The Dealer

    The Dealer Power Member

    Aliás, não ficou resolvido, porque agora, alguns acentos ficaram bem, mas outros não. Em muitos sítios tenho assim:

    Cursos de 1º Ciclo.

    Já não me aparece aquele género de ponto de interrogação, mas agora noutros sitios é assim:rolleyes:
     
  7. Introduziste essas informações via backoffice? Se vires directamente os campos na BD estão escritos de forma correcta ou também tem esses caracteres 'estranhos'?
     
  8. The Dealer

    The Dealer Power Member

    O que está na BD aparece forma correcto. A questão é, o que agora ficou mal, não é o que provêm da BD, são simples echo's. Como se de alguma forma existisse um conflito entre as duas meta http.
     
  9. Já me aconteceu coisas do género.. Acontece que esse conteúdo foi escrito com o outro tipo de codificação e agora aparece errado.. Às vezes, só o facto de reescrever novamente os textos resolve o problema.. caso não aconteça..

    Se não for muito texto podes sempre utilizar a função utf8_encode / utf8_decode.. do género.. echo utf8_encode('text');

    Ou experimenta colocar a seguinte linha no inicio da página:
    Código:
    <?php header("Content-Type: text/html;  charset=ISO-8859-1",true); ?>
    Espero que ajude em alguma coisa.. ;)
     
  10. The Dealer

    The Dealer Power Member

    Não gosto de ser do contra mas isso nao funciona..
     
  11. FuZi

    FuZi What is folding?

    eu na base de dados uso sempre o charset e colation = utf8_general_ci ou ut8_bin e nunca me deu problemas desses
     
  12. The Dealer

    The Dealer Power Member

    É tão simples quanto isto. Tenho a meta tag a charset=ISO-8859-1" /> e no php.ini tenho:
    ; PHP's built-in default is text/html
    default_mimetype = "text/html"
    default_charset = "iso-8859-1"

    E o html com acentos e cedilhas aparece errado, e os echo's também. Mas o que vem da BD está correcto.. Já não sei que fazer...
     

Partilhar esta Página