Antworten auf deine Fragen:
Neues Thema erstellen

Erledigt - Zeichensatzproblem bei Ajax-Navi mit Jquery

BlackHawk3

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:
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.
 

MyBad

localhorst

Sind die Dateien auch mit dem richtigen Zeichensatz gespeichert? Es reicht nicht aus nur die Zeichencodierung im Head anzugeben. Die Dateien müssen ebenfalls mit der gewünschten Zeichencodierung gespeichert werden. Ich würde auch immer nur noch UTF-8 nutzen, wenn es keine Gründe gibt, die dagegen sprechen.
 

BlackHawk3

Aktives Mitglied

Eventuell ist da der Hund schon begraben.
Jedes mal wenn ich ein neues Projekt anfange nehm ich mir vor im UTF8 zu arbeiten und verwende gleich <meta charset="utf-8">. Jedoch dauert es dann irgendwie nie lange bis ich permanent Probleme mit der Zeichendarstellung bekomme und stell es dann wieder auf ISO zurück und dann ist alles super.
Lässt mich vermuten das ich vll. meine Daten wirklich nicht in UTF-8 abspeicher.
Wie kann ich das denn sicherstellen? Kann man das irgendwie überprüfen?
 

MyBad

localhorst

Das wird es mit ziemlicher Wahrscheinlichkeit sein. Bin da damals auch des Öfteren drauf reingefallen.

Mit den meisten Editoren kannst du die Zeichencodierung prüfen und vor allem auch ändern.
 

BlackHawk3

Aktives Mitglied

uhh habs endlich gefunden. Drin stand für neue Dokumente Westeuropäisch. Werds mal auf Unicode umstellen und berichten ob das des Rätsels Lösung war.
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.616
Beiträge
1.538.358
Mitglieder
67.536
Neuestes Mitglied
QuestionMark
Oben