PHP Include und Akzente (Sie zeigen sich als �)
Ich bin mit der PHP-include eine PHP-Datei mit HTML-Code in es. einige der Inhalte hat französische Akzente, und diese zeigen sich als � auf der Website. Wie kann das gelöst werden?
Dank
Hier ist die PHP Datei, die ich include:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html dir="ltr" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="en-us" http-equiv="Content-Language" />
<title>Accueil</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<meta content="Changement créativité rêve buts être centré Plénitude personnel Développement transformation Modification nouveauté avancement bien-être Nouvelle vision ressentis L’énergie positive satisfaction l’acceptation Pardon" name="keywords" />
<link href="masterstyles.css" rel="stylesheet" type="text/css" />
<link href="menustyles.css" rel="stylesheet" type="text/css" />
<link href="menudropdown.css" rel="stylesheet" type="text/css" />
<td class="tbsyles" >
<h3 class="bigorange"> ACTIVITÉS À VENIR…</h3>
<p class="horizblue"> </p>
<p class="bigblack"> <br />
Inscrivez-vous à nos conférences et formations
<br />
<br />
</p>
<h4 class="orange"> Example of some text that could be here<br />
</h4>
<p class="horizblue"> </p>
<h3 class="bigorange"> <br />
ABONNEZ-VOUS… </h3>
<p class="nopadding"> À notre liste d’envoi </p>
<form method="post" action="<?php echo $PHP_SELF;?>">
<?PHP
function process_info(){
if(isset($_POST['email']))
{
$email=$_POST["email"];
$email=strtolower($email);
$action = "subc";
//check if email exists
//check whether email is correct (basic checking)
$test1=strpos($email, "@"); //value must be >1
$test2=strpos(substr($email,strpos($email,"@")), "."); //value must be >1
$test3=strlen($email); //value must be >6
$test4=substr_count ($email,"@"); //value must be 1
if ($test1<2 or $test2<2 or $test3<7 or $test4!=1)
{
print "<h6>Il a une erreur avec vôtre email</h6>";
print "<h6>Aucune informations ont été envoyer</h6>";
}
else
{
print "<h5>vôtre address est enregistrer, Merci </h5>";
//If they wanted to subsribe, do it...
$file = "emaillist-666XXX.txt";
//lets try to get the content of the file
if (file_exists($file)){
//If the file is already in the server, its content is pasted to variable $file_content
$file_content=file_get_contents($file);
}
else{
//If the file does not exists, lets try to create it
// In case file can not be created (probably due to problems with directory permissions),
// the users is informed (the first user will be the webmaster, who must solve the problem).
$cf = fopen($file, "w") or die("");
fclose($cf);
}
//IF REQUEST HAS BEEN TO SUBSCRIBE FROM MAILING LIST, ADD EMAIL TO THE FILE
if ($action=="subc"){
//check whether the email is already registered
if(strpos($file_content,"<$email>")>0){die("");}
//write the email to the list (append it to the file)
$cf = fopen($file, "a");
fputs($cf, "\n$email"); //new email is written to the file in a new line
fclose($cf);
}
}
}
}
process_info();
?>
<p class="nopadding">Votre Courriel</p>
<input name="email" type="text" class="style3" />
<input name="Submit" type="submit" value="OK" /></form>
<p class="horizblue"></p>
<h3 class="bigorange"> <br />
OUTILS GRATUIT… </h3>
<p class="nopadding">Amusez-vous avec des outils intéressants</p>
</td>
Du musst angemeldet sein, um einen Kommentar abzugeben.
Passiert, wenn der browser denkt, dass Ihr mit einer anderen Codierung, als Sie tatsächlich nutzen.
versuchen, fügen Sie Folgendes in der php-Datei vor jeglicher html-Code wird gedruckt:
hinzufügen und
zwischen den
<head></head>
tagsUPDATE: sah gerade das update mit der Datei. Sie müssen hinzufügen
header ('Content-type: text/html; charset=utf-8');
Ich hatte das gleiche Problem mit einer website für ein Französisches hotel.
Ändern des charset auf "ISO-8859-1" statt "UTF-8" hat den trick.
Beispiel: < form method="post" name="Kontakt" action="send_mail.php" accept-charset="ISO-8859-1" >
Was ist der charset der HTML-Seite? Es klingt wie die Zeichenkodierung der PHP-Datei und die HTML-innerhalb der it unterscheiden. Möchten Sie vielleicht check out:
Mehr helfen, poste bitte etwas code, speziell dem doctype, welcher ausgegeben wird und alle Aufrufe an PHP charset Funktionen.
Wenn das Umschalten der charset nicht beheben, können Sie Entitäten.
é
für é,ô
für ô und so weiterP. S. 'Il a une erreur avec vôtre E-Mail' -> Du solltest sagen: "Il y a", ist es Ihr nicht vôtre und E-Mail können übersetzt werden, 'courriel' 🙂
Versuchen Sie es mit