HTML: Codificação diferente no envio de dados

dezembro 3, 2008

Você já precisou enviar dados em um formulário com codificação diferente da sua página?
Como assim? Inicialmente é meio confuso, mas às vezes acontece.
Por exemplo:

No documento principal que está localizado meu <form>, utilizo o conjunto de caracteres UTF-8 (definido na meta tag)
Na página que irá processar o formulário utilizo o conjunto de caracteres iso-8859-1.

Geralmente isso acontece quando você apenas tem o poder de enviar dados, sendo que a ação do formulário é processada por outro site/servidor.

O atributo accept-charset especifica uma lista de conjuntos de caracteres para a entrada de dados que serão aceitas pelo servidor neste formulário.

Então com isso, resolvemos nosso problema.
Um pequeno exemplo:

form.php

1 <html>
2 <head>
3 <meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″ />
4 </head>
5
6 <body>
7
8 <form action=”post.php” method=”post” accept-charset=”iso-8859-1″>
9 <input type=”text” name=”nome” value=”Avião faz vôo hoje às 9:30″ />
10 <input type=”submit” value=”Enviar”>
11 </form>
12
13 </body>
14 </html>

post.php

1 <html>
2  <head>
3 <meta http-equiv=”Content-Type” content=”text/html; charset=iso-8859-1″ />
4 </head>
5
6 <body>
7

8  <?php
echo $_POST[nome];
 10 ?>
11
12 </body>
13 </html>

Neste exemplo teremos como resposta o texto exatamente na mesma forma que foi escrito, sem nenhum erro de acentuação. Experimente remover o atributo accept-charset e veja o que acontece.

Anúncios

One Response to “HTML: Codificação diferente no envio de dados”

  1. hehe Says:

    Esse dany boy eh mto sapeka mesmo viu!


Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

w

Conectando a %s

%d blogueiros gostam disto: