Estou enviando dados por um formulário mas não reconhece acentos
No header tenho:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pt" lang="pt-br">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="Content-Language" content="pt-br" />
<head ('Content-type: text/html; charset=ISO-8859-1')>
No php
<?php
$headers= "MIME-Version: 1.0\r\n";
$headers= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers= "Content-Class: urn:content-classes:message\n";
$nome = $_POST["nome"];
$email = $_POST["email"];
$objetivo = $_POST["objetivo"];
$objetivo=preg_replace("/(\015\012)|(\015)|(\012)/"," <br />", $objetivo);if($nome=="" || $email=="" || $objetivo=="" ){
$errors=1;
$error.="";
}
if(!eregi("^[a-z0-9]+([_\\.-][a-z0-9]+)*" ."@"."([a-z0-9]+([\.-][a-z0-9]+)*)+"."\\.[a-z]{2,}"."$",$email)){
$error.="";
$errors=1;
}
if($errors==1) echo $error;
else{
$where_form_is="http".($HTTP_SERVER_VARS["HTTPS"]=="on"?"s":"")."://".$SERVER_NAME.strrev(strstr(strrev($PHP_SELF),"/"));
$userip = ($_SERVER['X_FORWARDED_FOR']) ? $_SERVER['X_FORWARDED_FOR'] : $_SERVER['REMOTE_ADDR'];
$message= utf8_decode($message);
$message="Nome: ".$nome."
E-mail: ".$email."
Objetivo: ".$objetivo."
";
$message = stripslashes($message);
mail("meu@site.com.br","Agendar ",$message," ");
?><?php
}
?>
ao receber os dados o que tem acento vem com interrogalça
Já passei por este problema, você deve ter criado seu banco como UTF-8 o que é mais utilizado atualmente e da conflito com o iso-8859-1, faça assim:
no html:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
no php:
<?php ini_set('default_charset','UTF-8'); ?>
Espero ter ajudado!