Umlaute werden nicht dargestellt

J

jasha02

Grünschnabel
Ich habe schon seit 2 Tagen das Problem mit den Umlauten und weiß überhaupt nicht woran es liegen könnte. Den Inhalt meiner Page habe ich gestern komplett überarbeitet. Ich habe alle Umlaute durch HTML Codes ersetzt wie ä und so, deswegen funktioniert es dort. Nur in den News nicht (nur ein kleiner Probeeintrag mit 3 Umlauten, damit mein Problem verständlich wird).
Habe schon diverse Meta tags zur Sprachkodierung ausprobiert, daran kann es also nicht liegen. Am Server wahrscheinlich auch nicht, weil die Seite meines Hosts einwandfrei funktioniert. Ich denke, es liegt am Coding, aber ich finde den Fehler nicht. Vielleicht könnt ihr mir helfen...bitte!

http://djindjin.designfriends.org/index2.php

Da könnt ihr euch ja den Quelltext anschauen. Ich code ich auf PHP Basis.
 
Willkommen im Forum.
Also ich würde mal schätzen, dass Du zwar im Headerbereich als Codierung UTF8 angiebst, aber dein Editor auf Iso-8859-1 eingestellt ist. Vielleicht war er zwischendurch auch mal auf UTF8 eingestellt, denn in keiner der beiden Codierungen sieht alles richtig aus.
 
Steht im HTML-Header (header('Content-type: text/html; charset="UTF-8"')) auch, das du UTF-8 abschickst? Oder nur in den metaTags?
 
Steht im HTML-Header (header('Content-type: text/html; charset="UTF-8"')) auch, das du UTF-8 abschickst? Oder nur in den metaTags?


In meiner Editor Datei steht:

<head>

<title>DjinDjin</title>

<link href="style.css" type="text/css" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="stylesite.css" />
<link rel="stylesheet" href="css/lightbox.css" type="text/css" media="screen" />

<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<meta http-equiv="Content-Script-Type" content="text/javascript">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<script type="text/javascript" src="js/prototype.js"></script>
<script type="text/javascript" src="js/scriptaculous.js?load=effects,builder"></script>
<script type="text/javascript" src="js/lightbox.js"></script>

</head>

Und auf
als Codierung UTF8 angiebst, aber dein Editor auf Iso-8859-1 eingestellt ist.

Wenn ich meine Datei speichere, dann steht bei der Codierung ANSI. Gestern stand da aber noch UTF8...
 
Aber die meta-Angaben sind (relativ) egal, wenn die Datei vom Server abgerufen wird....
 
Was passiert, wenn du testweise sämtliche Meta-Tags die in Verbindung mit Codierung stehen und den Doctype rausnimmst?
Eine Empfehlung ist das Firefox Plugin HTML Validator. Denn es tauchen einige Warnungen auf. Gerade keine Zeit um den Source komplett durch zu gehen, aber normalerweise stimmen diese Warnungen auch.
 
PHP:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" type="text/css" href="style.css">
<title>Design</title>
<body>

So gehts bei mir. Wenn du Space hast wo das Charset schon im normalfall Umlaute kennt musst du das wieder deaktivieren.
 
Was passiert, wenn du testweise sämtliche Meta-Tags die in Verbindung mit Codierung stehen und den Doctype rausnimmst?
Eine Empfehlung ist das Firefox Plugin HTML Validator. Denn es tauchen einige Warnungen auf. Gerade keine Zeit um den Source komplett durch zu gehen, aber normalerweise stimmen diese Warnungen auch.

Es passiert garnichts. Also der Fehler bleibt weiterhin erhalten.


Wie oben gesagt:

PHP:
header('Content-type: text/html; charset="UTF-8"')
an den Anfang der PHP-Datei.

Dann erscheint bei mir ein Fehler mit : header allready sent by blabla on line 1


PHP:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" type="text/css" href="style.css">
<title>Design</title>
<body>

So gehts bei mir. Wenn du Space hast wo das Charset schon im normalfall Umlaute kennt musst du das wieder deaktivieren.

Ich werde gehostet von einer Person. Und diese hat auch eine Seite auf der die Umlaute richtig angezeigt werden, d.h. dass es nicht am Server liegen kann. Hab es auch so ausprobiert wie bei dir im Code aber dann erscheint ein Fehler:

Parse error: syntax error, unexpected T_STRING in /var/www/web5/html/hosted/djindjin/teil1.php on line 1

Ich bin echt ratlos...?(
 
jasha02 schrieb:
Parse error: syntax error, unexpected T_STRING in /var/www/web5/html/hosted/djindjin/teil1.php on line 1
Der Fehler kommt zustande, da du einen String mit Anführungszeichen per echo ausgibst. Du musst die Anführungszeichen mit einem Backslash espacen.

Falsch
Code:
<?php
echo "<?xml version="1.0" encoding="UTF-8"?>";
?>
Richtig
Code:
<?php
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>";
?>

oder

<?php
echo " ?>
<?xml version="1.0" encoding="UTF-8"?>
<? "; ?>


Arbeitest du eigentlich mit einer Datenbank (vermtl. MySQL)?
 
Zuletzt bearbeitet von einem Moderator:
Dann erscheint bei mir ein Fehler mit : header allready sent by blabla on line 1

...an den Anfang der PHP-Datei, die den ersten Output liefert. Du kannst den Header nur ändern, wenn noch nichts an den Browser geschickt wurde, was er ausgeben muss.

@nighT: ich würde statt dem umständlichen escapen oder PHP-Modus an/aus einfach einfache ' verwenden:
PHP:
echo '<?xml version="1.0" encoding="UTF-8"?>'
 
Die ganzen Tips helfen leider alle nicht...Hier zeige ich euch mal meinen Code, wie er im Editor steht. Vielleicht findet ihr den Fehler so besser:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<?PHP
include "polls/umfrage.php";

?>
<html>
<head>
<title>DjinDjin</title>
<link href="style.css" type="text/css" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="stylesite.css">
<link rel="stylesheet" href="css/lightbox.css" type="text/css"
media="screen">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<script type="text/javascript" src="js/prototype.js">
</script>
<script type="text/javascript" src=
"js/scriptaculous.js?load=effects,builder">
</script>
<script type="text/javascript" src="js/lightbox.js">
</script>
</head>
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth=
"0" marginheight="0">
<img src="color.jpg" border="0" alt="#########">



<!-- Anfang Navi -->
<div id="navi">

<?php include("navi.php"); ?>

</div>

<!-- Anfang Content -->
<table width="450" style=
"font-family:Arial, Helvetica, sans-serif; font-size:9pt;">
<tr>
<td>

Dann wird hier der Content eingefügt...

</td></tr>
<tr><td><?PHP
include "footer.php";

?>
</td></tr>
</table>

Alles wird beendet


Die Indexdatei sieht dann wie folgt aus:

<?php include("teil1.php"); ?>
<?php
if(isset($site)){
include("$site.php");}
else{
$number = "5";
include("cutenews/show_news.php");} ?>
<?php include("teil2.php"); ?>
<?php include("teil3.php"); ?>

Mein Code besteht also aus drei Teilen. Hab ich für euch hier auch so aufgeteilt, damit ihr euch das besser vorstellen könnt.


Arbeitest du eigentlich mit einer Datenbank (vermtl. MySQL)?

Ich benutze MySQL nur für die Grafiken. Genauer: Icons, Bases und Icontexturen

Sonst code ich alles manuell. Bei den News handelt es sich ja um Cutenews
 
Hab das Problem gelöst. Ich weiß nicht wie, aber es geht wieder.
Danke für eure Hilfe
 

Ähnliche Themen

Nginx als Reverse Proxy für Nextcloud und Emby

Umlaute (ö,ä,ü) trotz UTF-8 falsch dargestellt auf Red Hat 6.3 Santiago

Ethernet wird nicht erkannt

CentOS 6.4 kein schreibrecht auf gemountete ext4 HDD

OpenSuse 12.1 KDE 4.7.2 keine Umlaute mehr

Zurück
Oben