Acentuação em PHP

spitgohst

Membro
Boas Pessoal!
Tenho um problema com os acentos no PHP ^^ na base de dados os campos ficam com a acentuação mas quando vou a po los no site aparecem ? em vez dos caracteres com acentos...por exemplo:

Frase na db:
Olá!Um cão roeu o ossão!

Frase mostrada:
Ol?!Um c?ao roeu o oss?ao!

Dizem que aquela cena ta em UTF-8...

Alguem me pode ajudar?

Thks:D
 
Código:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Em princípio mas ainda é preciso ver o tipo de codificação que usas nos ficheiros
 
Acrescenta (ou substitui) no head do teu html o seguinte:
Código:
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
Vê se corrige.
 
Se não resolver podes sempre tentar usar a função htmlentities do php que te vai converter caracteres não reconhecidos pelo html nos respectivos códigos.

Exemplo

Código:
$string_qq = htmlentities('Olá a todos!');

Espero que te ajude :)
 
ja coloquei a tag <meta> na head do html e tambem ja alterei a codificação dos ficheiros para UTF-8...mas continua a aparecer os ? em vez de aparecerem os acentos :( o mais estranho disto tudo é que quando altero a codificação directamente no Mozilla todas as codificações mostram os acentos menos a codificação UTF-8...no minimo estranho, e eu nao sei mesmo o que fazer :x
 
Boas,

No início do ficheiro, mas mesmo no início, sem qualquer linha branca antes faz isto
<?
header('Content-Type: text/html; charset=ISO-8859-1');
?>
 
Vê lá se o problema não está no próprio browser.

De qualquer forma, o que o Nastase está a dizer costuma ser uma "solução universal". O htmlentities().
 
ja coloquei a tag <meta> na head do html e tambem ja alterei a codificação dos ficheiros para UTF-8...mas continua a aparecer os ? em vez de aparecerem os acentos :( o mais estranho disto tudo é que quando altero a codificação directamente no Mozilla todas as codificações mostram os acentos menos a codificação UTF-8...no minimo estranho, e eu nao sei mesmo o que fazer :x

Estás a usar algum editor de texto? Tem atenção que ao guardares o ficheiro .html tens de ver qual o tipo de codificação que usas!

Se conseguires declara na head utf-8 e guarda o ficheiro codificado com o mesmo formato.
 
Nastase - O htmlentities não me parece ser a solução mais indicada porque tenho que ir buscar os registos a db e ter que tar a fazer isso para todos era um bocado extenso :S

s31s3r - Estou a usar o Notepad++, já experimentei várias vezes guardar o ficheiro com a codificação UTF-8 e com a tag meta la dentro...mas ele continua a dar problemas :S

angelofwisdom - o problema não pode ser do browser...e se for eu tenho que o resolver porque tenho que colocar o site online e tem que haver compatibilidade com todos os browsers :S essa é a parte complicada da coisa :X

Obrigado a todos
 
Está ai o código fonte gerado quando abro a página, se quiseres o que eu fiz diz:

Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pt-pt" lang="pt-pt" dir="ltr" >
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <meta name="robots" content="index, follow" />
  <meta name="keywords" content="joomla, Joomla, Comunidade Portuguesa de Joomla, JoomlaPT" />
  <meta name="description" content="Joomla! - Um Motor de Portais Dinâmicos e Sistema de Gestão de Conteúdos" />
  <meta name="generator" content="Joomla! 1.5 - Open Source Content Management" />
  <title>Bee-Sms Contests</title>
  <link href="/bee-sms/templates/yoo_sunblogger/favicon.ico" rel="shortcut icon" type="image/x-icon" />
  <link rel="stylesheet" href="/bee-sms/templates/yoo_sunblogger/css/template.css.php?color=default&amp;styleswitcherFont=1&amp;styleswitcherWidth=0&amp;widthThinPx=780&amp;widthWidePx=940&amp;widthFluidPx=0.9" type="text/css" />
  <link rel="stylesheet" href="/bee-sms/templates/yoo_sunblogger/lib/js/lightbox/css/slimbox.css" type="text/css" />
  <script type="text/javascript" src="/bee-sms/templates/yoo_sunblogger/lib/js/mootools.js.php"></script>
  <script type="text/javascript">
var YtSettings = { color: 'default', layout: 'left', fontDefault: 'font-medium', widthDefault: 'width-wide', widthThinPx: 780, widthWidePx: 940, widthFluidPx: 0.9, heightToppanel: 320 };
  </script>
  <script type="text/javascript" src="/bee-sms/templates/yoo_sunblogger/lib/js/template.js.php"></script>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>

<body id="page" class="font-medium width-wide">

    
    <div class="wrapper floatholder">
        <div class="wrapper-l">
            <div class="wrapper-r">
                <div class="wrapper-m">


                    <div id="header">
                    
                                                
                        <a href="/bee-sms" title="Home"><span id="logo" class="correct-png"></span></a>
                        
                        <div id="bubble-styleswitcher">
                            <div class="background correct-png">
                                <div class="ie6wrapper">
                                
                                                                        <div id="styleswitcher">
                                                                                                                        <a id="switchfontlarge" href="javascript:void(0)" title="Increase font size"></a>
                                        <a id="switchfontmedium" href="javascript:void(0)" title="Default font size"></a>
                                        <a id="switchfontsmall" href="javascript:void(0)" title="Decrease font size"></a>
                                                                            </div>
                                                                    
                                </div>
                            </div>
                        </div>
                        
                        <div id="bubble-date">
                            <div class="background correct-png">
                                <div class="ie6wrapper">
                                
                                                                        <div id="date">
                                        <div class="month">fevereiro</div>
                                        <div class="day">28</div>
                                        <div class="year">2008</div>
                                    </div>
                                                                        
                                </div>
                            </div>
                        </div>
                        
                        <div id="bubble-search">
                            <div class="background correct-png">
                                <div class="ie6wrapper">
                                
                                    
                                    
                                </div>
                            </div>
                        </div>
            
                        <div id="bubble-header">
                            <div class="background correct-png">
                                <div class="ie6wrapper">
                    
                                    

                                </div>
                            </div>
                        </div>

                                
                        <div id="menu">
                            <ul class="menu"><li class="level1 item13 first parent active"><a href="http://localhost/bee-sms/" class="level1 item13 first parent active"><span>Home</span></a></li><li class="level1 item14 parent"><a href="/bee-sms/index.php?option=com_content&amp;view=article&amp;id=48&amp;Itemid=51" class="level1 item14 parent"><span>Features</span></a></li><li class="level1 item15"><a href="/bee-sms/index.php?option=com_content&amp;view=article&amp;id=44&amp;Itemid=52" class="level1 item15"><span>Typography</span></a></li><li class="level1 item16 parent"><a href="/bee-sms/index.php?option=com_content&amp;view=article&amp;id=47&amp;Itemid=53" class="level1 item16 parent"><span>Layout</span></a></li><li class="level1 item17 last parent"><a href="/bee-sms/index.php?option=com_content&amp;view=frontpage&amp;Itemid=1" class="level1 item17 last parent"><span>Joomla!</span></a></li></ul>
                        </div>
                        

                                        
                    </div>

                        
                    <div id="middle">
                        <div class="background withoutleft">
        
                                        
                            <div id="main">
                                <div id="main_container" class="clearingfix">
        
                                        
                                    <div id="mainmiddle" class="floatbox withoutright">
        
                                                                
                                        <div id="content">
                                            <div id="content_container" class="clearingfix">
        
                                                        
                                                                                                <div id="breadcrumb">
                                                    <span class="breadcrumbs pathway">
<a href="http://localhost/bee-sms/" class="pathway">Home</a> <img src="/bee-sms/templates/yoo_sunblogger/images/arrow.png" alt=""  /> <a href="/bee-sms/index.php?option=com_content&amp;view=article&amp;id=45&amp;Itemid=54" class="pathway">Home</a> <img src="/bee-sms/templates/yoo_sunblogger/images/arrow.png" alt=""  /> Bee-Sms Contests</span>
                                                </div>
                                                                        
                                                <div class="floatbox">
                                                    
                                                      
            <a href="http://localhost/bee-sms/index.php?option=com_beesms&view=beesms2&Itemid=149&beesmsid="><img src="components/com_beesms/views/beesms2/tmpl/arrow_back.jpg" align=left></a>
            <a href="http://localhost/bee-sms/index.php?option=com_beesms&view=beesms2&Itemid=149&beesmsid=70"><img src="components/com_beesms/views/beesms2/tmpl/arrow_next.jpg" align=right></a>
         


<table border=0 width=500 align=center> 
<tr>
    <td>
    <div align="center">
        <img class="reflect" src="administrator/components/com_beesms/uploads/BeeSms1080221060206.jpg"></img>
    </div>
    </td>
</tr>
<div align="center">
<tr>
    <td>
        <br>
        <p align=center><font size=6>Envie j� para o 3660!</font>
        </p>
        <br>
        <font size=3>
        <p align=center>
            BEE-FERIAS nome CodPostal [OPT-IN ou OPT-OUT]</font>
        </p>
        <br>
    </td>
</tr>
    <tr>
        <td>
            <br>
            <b>Caracteristicas:</b> <br>Umas Ferias muito Bonitas        </td>
    </tr>
    <tr>
        <td>
            <br>
            <a href="http://www.sapo.pt" target=_blank>Pagina do Produto</a>
            <br>
        </td>
    </tr>
              <tr>
                            <td>
                                <p align=center>O pr�mio � atribuido a cada 2543 mensagens recebidas.</p><br>Nota:Dever� colocar no final da mensagem OPT-IN ou OPT-OUT. Ao colocar OPT-IN est� a autorizar o Telemoveis.com e a SMOBILE a utilizar os seus dados para o informar gratuitamente sobre promo��es futuras. Caso n�o o deseje, deve escrever OPT-OUT.                             </td>
                        </tr>
    </table>
<a href="http://localhost/bee-sms/index.php?option=com_beesms&view=beesms2&Itemid=149&beesmsid="><img src="components/com_beesms/views/beesms2/tmpl/arrow_back.jpg" align=left></a>
<a href="http://localhost/bee-sms/index.php?option=com_beesms&view=beesms2&Itemid=149&beesmsid=70"><img src="components/com_beesms/views/beesms2/tmpl/arrow_next.jpg" align=right></a>
</div>
  
                                                </div>
        
                                                        
                                            </div>
                                        </div>
        
                                    </div>
    
                                        
                                </div>
                            </div>
                        
                        </div>
                    </div>
    
                                        
                    <div id="footer">
                                                Copyright &copy; 2007 YOOtheme
                                        </div>
                    
                    
    
                </div>
            </div>
        </div>
        
        <div class="wrapper-bl">
            <div class="wrapper-br">
                <div class="wrapper-b">
                </div>
            </div>
        </div>
        
    </div>

</body>
</html>
Obrigado pela ajuda
 
Última edição:
Código:
[COLOR=#ff0000]<?[/COLOR]
[COLOR=#0000ff]htmlspecialchars[/COLOR][COLOR=#009900]([/COLOR][COLOR=#ff0000]"String"[/COLOR][COLOR=#009900]);[/COLOR]
[COLOR=#ff0000]?> [/COLOR]
 
Please, utiliza as tags [ code ] e [ /code ] (sem espaços, claro) sempre que precisares de colar código.

Joomla? porque é que não disseste logo?! eu meto a viola no saco, não percebo patavina disso.
 
tudo bem sorry!

pah mas joomla nao passa de um conjunto de ficheiros de php...e eu tou a fazer um componente...acredito que o que quer que seja que esta a causar os ditos ? nao tenha a ver com o joomla mas sim com um tipo de codificação marada que nem sei bem qual é :x
 
tudo bem sorry!

pah mas joomla nao passa de um conjunto de ficheiros de php...e eu tou a fazer um componente...acredito que o que quer que seja que esta a causar os ditos ? nao tenha a ver com o joomla mas sim com um tipo de codificação marada que nem sei bem qual é :x

Ah! Joomla! Ok!
Assim já conversamos de maneira diferente!
Qual é a versão? 1.0.x ou 1.5?
Se for a 1.0.x tens de codificar todos os ficheiros em iso-8859-1, na nova usas o utf-8.
O mesmo se aplica ás headers do html. E quando guardares os ficheiros com o notepad++ não te esqueças de mudar o tipo de codificação.
 
:P é a 1.5...tou a implementar agora o meu primeiro site na nova plataforma apesar de nao haver muitos componentes disponiveis ainda :S mas eu ja tentei isso...coloquei a tal linha de codigo nas headers e guardei tudo em utf-8, mas ainda nao entendi bem o porque daquela cena nao tar a dar...supostamente tenho que por no tag head do html do template nao e?
 
Back
Topo