APACHE +ACENTOS

1. APACHE +ACENTOS

Estélio Primon
primon

(usa Red Hat)

Enviado em 14/01/2008 - 22:24h

Estou usando o FC6 + APACHE 2.2.6, tudo funciona normal, menos o acesso dos LINKS com valores que contenham acentos;
Abaixo estou "postando" 2 link's, 1 que funciona e o outro que não funciona; Vale lembrar que o código PHP no servidor somente mostra o valor passado e o APACHE esta certinho no ISO-8859-1

funcionando (sem acento) - www.autopex.com.br?titulo=acao
Não funciona (com acento) - www.autopex.com.br?titulo=ação

Será que alguém já assou por isso e pode me ajudar?


  


2. Re: APACHE +ACENTOS

Rafael Andrade
randra

(usa Debian)

Enviado em 15/01/2008 - 08:17h

Tente dessa maneira:
edite o seu httpd.conf procurando a linha:
AddDefaultCharset UTF-8

Altere essa linha para:
#AddDefaultCharset UTF-8
AddDefaultCharset iso-8859-1

Isso irá trocar o tipo de codificação usado no apache para acentuação.

Um abraço.



3. Eu não usaria acentos em links

Israel Miranda
israel_miranda

(usa FreeBSD)

Enviado em 15/01/2008 - 09:12h

Já faz um tempo que não programo pra web, mas acho que dependendo do charset do usuário, ele pode decodificar o caractere errado, e gerar uma url errada no browser. Se você quiser realmente usar acentos no links, encorajo você trocar TUDO para utf-8.


4. Re: APACHE +ACENTOS

Estélio Primon
primon

(usa Red Hat)

Enviado em 15/01/2008 - 13:27h

Já tentei setar o APACHE para ISO-8859-1 e para UTF-8 porém sem sucesso; Porém acho que o caminho não é por aí, pois o ISO-8859-1 ou UTF-8 setados no APACHE servem para determinar o código de página que será usado na apresentação das páginas, e isso no meu caso esta certo;
Reparem nos link's abaixo que NÃO se trata de um link com acento, e sim de um valor passado para o link que será lido pelo GET do PHP, e neste caso o sistema deve aceitar acentos;
OK - http://www.autopex.com.br/index.php?titulo=acao
ERR - http://www.autopex.com.br/index.php?titulo=a%E7%E3o
ERR - http://www.autopex.com.br/index.php?titulo=ação

Isso acontece tanto no GET como no POST; Entendam que se isso não funcionar com acentos nem um tipo de formulário poderá ter acentos;



5. Certo

Israel Miranda
israel_miranda

(usa FreeBSD)

Enviado em 15/01/2008 - 13:46h

a definição de caracteres do apache define a codificação dos caracteres mostrados na página.

Eu sugeri que colocasse tudo para utf-8, porque como os links ficam na página, poderia ter alguma influência.

O fato é, não sei se o apache suporta alguns caracteres especiais em URL's.
Você tem que pesquisar isso, e se ele suporta como configurar.


6. Re: APACHE +ACENTOS

Filipe Rodrigues
philips

(usa Outra)

Enviado em 15/01/2008 - 14:19h

cara...

ao meu ver a melhor forma de se fazer isso é gerar as url codificadas assim:

link: pag.php?titulo=<?php echo urlencode("ação"); ?>&etc=outros

e no seu php vc usar a funcao para decodificar...

$_GET[titulo] = urldecode($_GET[titulo]);

ref.:
http://www.php.net/manual/pt_BR/function.urlencode.php
http://www.php.net/manual/pt_BR/function.urldecode.php


7. Re: APACHE +ACENTOS

Estélio Primon
primon

(usa Red Hat)

Enviado em 15/01/2008 - 14:55h

Sim, usando URLENCODE/URLDECODE você consegue resolver o problema de uma classe GET; Agora imagine como trabalhar com isso dentro de um formulário que usará metodo POST; Até agora a única solução que achei foi antes de permitir o SUBMIT de um form, codificar todo o FORM em JavaScript, Mas acho que isso é perda de tempo em programacão, afinal tudo funcionava normalmente, porquê esse tal de AJAX? Admito que ele pode ter inúmeras vantagens, mas no meu ponto de vista mexeu no básico (form) e complicou; Gostaria de saber se alguém conhece como passar um form sem ser pelo AJAX no apache?


8. Re: APACHE +ACENTOS

Estélio Primon
primon

(usa Red Hat)

Enviado em 15/01/2008 - 14:57h

Só complementando:

Estou procurando essa solução pois temos um sistema INTEIRO em PHP e os forms não foram programados para usar AJAX; Então ficaria "muito" mas muito complicado alterar todo o funcionamento de um sistema imenso como o nosso.


9. Re: APACHE +ACENTOS

Filipe Rodrigues
philips

(usa Outra)

Enviado em 15/01/2008 - 15:31h

mas só pra lembrar, ambos os servidores, o apache e o mysql devem estar trabalhando sobre o mesmo charset...

e, no final das contas, pra garantir, vc pode colocar nas paginas, o charset que vc colocou...

acho essa, no final das contas, a mais segura...


10. Re: APACHE +ACENTOS

Estélio Primon
primon

(usa Red Hat)

Enviado em 15/01/2008 - 16:49h

Sim, o APACHE, o MYSQL, as página e até o PHP estão setados para o ISO-8859-1; Tudo conversa legal na mesma página de código, mas os GET's e POST's não conseguem trabalhar com caracteres especiais; Pelo que pesquisei isso é coisa do AJAX; Só não sei onde mexer, se é que existe, para ajustar.



11. Re: APACHE +ACENTOS

Filipe Rodrigues
philips

(usa Outra)

Enviado em 15/01/2008 - 17:05h

tente dar uma olha nesse link...

http://elmicox.blogspot.com/2006/06/ajax-acentuao-soluo-final-1-linha-de.html

talvez seja útil a vc...

atenciosamente, Filipe Rodrigues






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts