Jump to content
nuno.magalhaes

Acentuação

Recommended Posts

nuno.magalhaes

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?

Share this post


Link to post
Share on other sites
Lfscoutinho

Boas,

Isso é um problema com a codificação. Podes utilizar a função utf8_encode() do PHP para resolver :D

Share this post


Link to post
Share on other sites
ruimcosta

mete

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

antes do </head>


Abraços e beijinhos,Rui Costa

Share this post


Link to post
Share on other sites
Lfscoutinho

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.

Share this post


Link to post
Share on other sites
jose.vicente

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!

Share this post


Link to post
Share on other sites
SergioC92

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.

Share this post


Link to post
Share on other sites
isapinhal

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 ;)

Share this post


Link to post
Share on other sites
triplexim32

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()


<

Share this post


Link to post
Share on other sites
Demoins

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.

Share this post


Link to post
Share on other sites
ruimcosta

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

Share this post


Link to post
Share on other sites
Demoins

Sim, a codificação utf8 consegue aguentar com esses caracteres também. Faz uma pesquisa no google e vê um pouco sobre isso.

Share this post


Link to post
Share on other sites
mjamado

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.

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.