Aktives Mitglied
Hallo Leute,
ich hab ein PHP-Projekt welches im Kern aus 3 Datein besteht. Eine header.php, eine body.php und eine footer.php.
In header.php ist das JS und die Navi enthalten:
Die verlinkten Datein sehen in etwa so aus:
Klicke ich jetzt im Menü auf einen Menüpunkt öffnet sich im Contentbereich auch die entsprechende Datei. Sind aber Umlaute darin enthalten werden diese Fehlerhaft dargestellt. Drücke ich nun F5 (also include_once wird ausgeführt) werden die Umlaute richtig angezeigt.
Ich habe schon versucht das Meta-Tag oben zu ändern in UTF8 und habe eine HTACCESS erstellt mit "AddDefaultCharset iso-8859-1". Beides hat nie den gewünschten Erfolg gebracht.
Mir scheint es so, als wüsste der Browser bzw. der Server nichts mit so einer "leeren" body.php anzufangen, in der keine header-infos stehen. Füge ich dort nochmal einen HTML Header hinzu führt es zu ganz großem Chaos.
Habt ihr eine Idee, wie ich die Umlaute immer richtig angezeigt bekomme? Mir gehen langsam die Ideen aus.
ich hab ein PHP-Projekt welches im Kern aus 3 Datein besteht. Eine header.php, eine body.php und eine footer.php.
In header.php ist das JS und die Navi enthalten:
Code:
<?php
//Prüfen ob Session da ist
if(!$_SESSION["loggedIn"]){
//Session existiert nicht...
header ("Location: http://webseite.de");
exit;
}
error_reporting(E_ALL);
include_once('functions/functions.php');
?>
<!DOCTYPE HTML>
<html>
<head>
<meta charset="iso-8859-1">
<link href="admin.css" type="text/css" rel="stylesheet">
<script type="text/javascript" src="../system/js/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("a[rel='navi']").click(function(e){
//get the link location that was clicked
pageurl = $(this).attr('href');
//to get the ajax content and display in div with id 'content'
$.ajax({url:pageurl+'?rel=navi',success: function(data){
$('#content').html(data);
}});
//to change the browser URL to the given link location
if(pageurl!=window.location){
window.history.pushState({path:pageurl},'',pageurl);
}
//stop refreshing to the page given in
return false;
});
$(window).bind('popstate', function() {
$.ajax({url:location.pathname+'?rel=navi',success: function(data){
$('#content').html(data);
}});
});
});
</script>
</head>
<body>
<div id="contentwrapper" >
<header>
<ul class="menu">
<li><a href="index.php" id="aktiv" rel="navi">Home</a></li>
<li><a href="index.php" rel="navi">Menu1</a>
<ul>
<li><a href="datei1.php" rel="navi">Menu1.1</a></li>
</ul>
</li>
<li><a href="datei2.php" rel="navi">Menu2</a></li>
<li><a href="datei3.php" rel="navi">Menu3</a>
<ul>
<li><a href="datei4.php" rel="navi">Menu3.1</a></li>
</ul>
</li>
</ul>
Die verlinkten Datein sehen in etwa so aus:
Code:
<?php session_start(); ?>
<?php
if($_GET['rel']!='navi'){
include_once('head.php');
}
?>
<div class="inhalt">
Überschrift
</div>
<?php
if($_GET['rel']!='navi'){
include_once('footer.php');
}
?>
Klicke ich jetzt im Menü auf einen Menüpunkt öffnet sich im Contentbereich auch die entsprechende Datei. Sind aber Umlaute darin enthalten werden diese Fehlerhaft dargestellt. Drücke ich nun F5 (also include_once wird ausgeführt) werden die Umlaute richtig angezeigt.
Ich habe schon versucht das Meta-Tag oben zu ändern in UTF8 und habe eine HTACCESS erstellt mit "AddDefaultCharset iso-8859-1". Beides hat nie den gewünschten Erfolg gebracht.
Mir scheint es so, als wüsste der Browser bzw. der Server nichts mit so einer "leeren" body.php anzufangen, in der keine header-infos stehen. Füge ich dort nochmal einen HTML Header hinzu führt es zu ganz großem Chaos.
Habt ihr eine Idee, wie ich die Umlaute immer richtig angezeigt bekomme? Mir gehen langsam die Ideen aus.