nuno.magalhaes 0 Posted March 31, 2011 Report Share Posted March 31, 2011 tenho à minha responsabilidade vários sites, uns elaborados em php outros em html. a questão que coloco para me tentarem ajudar é a seguinte. Nalguns deles, nomeadamente os que eu uso a linguagem php, não me aceita as palavras com acentuação. por exemplo a palavra notícias aparece not$cias, em que o $ não $ mas outro caracter qualquer menos o í (i com acento). Uso a expresão echo para introduzir código html dentro do php. A questão é simples, como escrevo uma palavra com acentuação em html? Link to post Share on other sites
Lfscoutinho 2 Posted March 31, 2011 Report Share Posted March 31, 2011 Boas, Isso é um problema com a codificação. Podes utilizar a função utf8_encode() do PHP para resolver Link to post Share on other sites
ruimcosta 0 Posted March 31, 2011 Report Share Posted March 31, 2011 mete <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> antes do </head> Abraços e beijinhos,Rui Costa Link to post Share on other sites
Lfscoutinho 2 Posted March 31, 2011 Report Share Posted March 31, 2011 Boas, A solução do @ruimcosta é melhor. No entanto, se continuares a ter problemas mete o charset como utf e se continuar usa o utf8_encode(). Nota: Tenta o que o @ruimcosta disse, mas não antes de fechar o head e sim depois de abrires. Ou seja, <head><meta...., isto para não teres problemas no título, descrição, palavras-chaves, etc. Link to post Share on other sites
jose.vicente 0 Posted April 1, 2011 Report Share Posted April 1, 2011 Bom dia, è importante verificar se o tipo de dado apresentado é dinâmico, ou seja se vem de um banco de dados, sendo assim pode ser que a estrutura da tabela esteja com seu padrao de texto diferente de utf-8. abraços! Link to post Share on other sites
SergioC92 0 Posted April 7, 2011 Report Share Posted April 7, 2011 Para resolver isso basta meteres isto dentro da tag HEAD: <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Cumps, Sérgio Camilo. Link to post Share on other sites
isapinhal 0 Posted April 20, 2011 Report Share Posted April 20, 2011 Boas pessoal, Eu ja tentei o que aqui foi dito, mas quando a informaçao vem da Base de dados o que foi aqui dito nao da no entanto eu esperimentei com html_entity_decode($variavel) e ja deu. Com essa funçao todas as strings vindas da Base de dados que tenham acentos sao reproduzidos com eles. Espero ter ajudo... Cumprimentos IsapINHAL Link to post Share on other sites
triplexim32 0 Posted April 26, 2011 Report Share Posted April 26, 2011 Muitas das vezes o mais facil é: Se tas em windows: -Crias um documento txt escreves la "çççç" (pode ser qualquer letra desde que saia dos ranges de utf-7, pode ate ser letras acentuadas) e depois mudas a extensão do ficheiro para .php, metes lá o teu codigo dentro e fica a funcionar. Mas aconselho-te tambem a acrescentares no html: <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> ou <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> e no php ao inicio de cada pagina: header('Content-Type: text/html; charset=utf-8'); Isto vai ajudar o browser a interpretar melhor a pagina. Não uses utf8_encode() ou utf8_decode() como sugeriram, é desnecessário. Uso esta técnica principalmente por causa de dar respostas em ajax, assim evito o uso de utf8_encode() < Link to post Share on other sites
Demoins 0 Posted April 27, 2011 Report Share Posted April 27, 2011 nuno.magalhaes, As soluções apresentadas pelos utilizadores SergioC92 e Lfscoutinho são duas formas de fazer a mesma coisa. No entanto gostaria de acrescentar ao que estes membros disseram que deverás ter sempre em atenção 3 coisas para evitar o problema com as codificações, sendo elas: 1º Sempre que criares um ficheiro novo, certifica-te que a codificação do mesmo está como UTF8. Em caso negativo deverás efectuar a conversão para esta codificação de caracteres ou, se tiver disponível (e é mais preferível), para UTF8 sem BOM. 2º No documento que carrega o cabeçalho html mete, tal como disse o SergioC92, a meta tag <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 3º Sempre que utilizares base de dados mantêm o charset como utf8_general_ci Se seguires este conselho poderás escrever qualquer tipo de caractere sem te preocupares mais com a codificação. Espero ter-te ajudado. Link to post Share on other sites
ruimcosta 0 Posted April 27, 2011 Report Share Posted April 27, 2011 Já agora aproveito para perguntar algo relacionado. O mesmo se passa com caracteres não latinos? Russo, árabe, chines? Tudo em utf-8 resolve? Abraços e beijinhos,Rui Costa Link to post Share on other sites
Demoins 0 Posted April 27, 2011 Report Share Posted April 27, 2011 Sim, a codificação utf8 consegue aguentar com esses caracteres também. Faz uma pesquisa no google e vê um pouco sobre isso. Link to post Share on other sites
mjamado 42 Posted April 27, 2011 Report Share Posted April 27, 2011 O mesmo se passa com caracteres não latinos? Russo, árabe, chines? Tudo em utf-8 resolve? Sim, mas é preciso que as fontes usadas suportem (muito poucas fontes contém esses caracteres). "Para desenhar um website, não tenho que saber distinguir server-side de client-side" - um membro do fórum que se auto-intitula webdesigner. Temo pelo futuro da web. Link to post Share on other sites
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now