Umlaute im Gästebuch und im KF umwandeln?

Hallo!
Ich habe folgendes Problem:
In meinem Gästebuch und im Kontaktformular kann man die Umlaute nicht umwandeln??? Jedenfalls werden diese komisch angezeigt???

Wo müsste der Code hin?
Hier ist der Code der Datei gaestebuch.php:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script language="JavaScript">
<!--
function SmilieEinfuegen(Smilie)
{
    document.Formular.inhalt.value += Smilie+" ";
    document.Formular.inhalt.focus();
}
//-->
</script>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>G08b Klassenhomepage</title>
<link href="default.css" rel="stylesheet" type="text/css" media="screen" />
</head>
<body>
<!-- start header -->
<div id="header">
	<div id="logo">
		<h1>Klasse G08b</a></h1>
		<p>Unsere Klassenhomepage</p>
	</div>
	<div id="menu">
	<?php
include ("navitop.php");
?>
	</div>
</div>
<!-- ende header -->
<!--ende navi oben-->
<!-- start page -->
<div id="page">
	<!-- start leftbar -->
	<div id="leftbar" class="sidebar">
				<?php
include ("navileft.php");
?>
	</div>
	<!-- end leftbar -->
	<!-- start content -->
	<div id="content">
<?
$datum = date("d.m.Y");
$uhrzeit = date("H:i:s");
echo $datum," - ",$uhrzeit," Uhr";
?>
	<div align="center">
			<h1 class="title">Gästebuch</h1>

			Hier kannst du uns einen Gästebucheintrag hinterlassen!
	
	<br><br>




<form name="Formular" action="neuerbeitrag.php" Method="post">
		
<a href="javascript:SmilieEinfuegen(':-)')"><img border="0" src="smilies/smilie1.gif"></a>
<a href="javascript:SmilieEinfuegen(';-)')"><img border="0" src="smilies/smilie2.gif"></a>
<a href="javascript:SmilieEinfuegen(':rolleyes:')"><img border="0" src="smilies/smilie3.gif"></a>
<a href="javascript:SmilieEinfuegen(':-(')"><img border="0" src="smilies/smilie4.gif"></a>
<a href="javascript:SmilieEinfuegen('*brutal*')"><img border="0" src="smilies/smilie5.gif"></a>
<a href="javascript:SmilieEinfuegen('*band*')"><img border="0" src="smilies/smilie6.gif"></a>
<a href="javascript:SmilieEinfuegen('*kotz*')"><img border="0" src="smilies/smilie7.gif"></a>
<a href="javascript:SmilieEinfuegen('*freu*')"><img border="0" src="smilies/smilie8.gif"></a>

<br><br>
Ihr Name:<br>
<input name="Name" size="40"><br><br>

E-Mail:<br>
<input name="EMail" size="40"><br>
<br><br>

Webseite:<br>
<input name="website" size="40"><br>
<br><br>

Inhalt:<br>

<textarea name="inhalt" cols="40" rows="12"
wrap="physical"></textarea><br>
<input type="submit" value="Absenden">
</form>
</div>
<hr>




<?php
$beitrag = file("gaestebuch.txt");
krsort($beitrag);

foreach($beitrag as $ausgabe)
   {
   $ausgabe = stripslashes($ausgabe);
   $zerlegen = explode("|", $ausgabe);

   echo "
   <table align=\"center\"
	border=\"1\" cellspacing=\"0\"
   cellpadding=\"5\" bordercolorlight=\"black\"
   bordercolordark=\"black\" width=\"50%\">
   <tr>
   <td>
  Von <a href=\"mailto:$zerlegen[0]\">$zerlegen[1]</a>
  am $zerlegen[2]
  <b>Webseite:</b> $zerlegen[3]
   </td>
   </tr>

   <tr>
   <td>
   $zerlegen[4]
   </td>
   </tr>
   </table><br>
   ";
   }
  

   
?>



	</div>
	<!-- end content -->
	<!-- start rightbar -->
	<div id="rightbar" class="sidebar">
<!--INHALT rechte BOX-->
	</div>
	<!-- end rightbar -->
	<div style="clear: both;"> </div>
</div>
<!-- end page -->
<hr />
<div id="footer">
</div>
</body>
</html>

Oder liegt es an der Seite neuerbeitrag.php??
Der Code ist dieser:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>G08b Klassenhomepage</title>
<link href="default.css" rel="stylesheet" type="text/css" media="screen" />
</head>
<body>
<!-- start header -->
<div id="header">
	<div id="logo">
		<h1>Klasse G08b</a></h1>
		<p>Unsere Klassenhomepage</p>
	</div>
	<div id="menu">
	<?php
include ("navitop.php");
?>
	</div>
</div>
<!-- ende header -->
<!--ende navi oben-->
<!-- start page -->
<div id="page">
	<!-- start leftbar -->
	<div id="leftbar" class="sidebar">
				<?php
include ("navileft.php");
?>
	</div>
	<!-- end leftbar -->
	<!-- start content -->
	<div id="content">
			<h1 class="title">Bestätigung</h1>
		<?php
$user = $_POST["Name"];
$user = htmlentities($user);

$inhalt = $_POST["inhalt"];
$inhalt = htmlentities($inhalt);
$inhalt = str_replace("\n", "<br>", $inhalt);

$inhalt = str_replace(":-)", "<img src=\"smilies/smilie1.gif\">", $inhalt);
$inhalt = str_replace(";-)", "<img src=\"smilies/smilie2.gif\">", $inhalt);
$inhalt = str_replace(":rolleyes:", "<img src=\"smilies/smilie3.gif\">", $inhalt);
$inhalt = str_replace(":-(", "<img src=\"smilies/smilie4.gif\">", $inhalt);

$inhalt = str_replace("*brutal*", "<img src=\"smilies/smilie5.gif\">", $inhalt);
$inhalt = str_replace("*band*", "<img src=\"smilies/smilie6.gif\">", $inhalt);
$inhalt = str_replace("*kotz*", "<img src=\"smilies/smilie7.gif\">", $inhalt);
$inhalt = str_replace("*freu*", "<img src=\"smilies/smilie8.gif\">", $inhalt);



echo$inhalt;

$email = $_POST["EMail"];
$email = htmlentities($email);

$website = $_POST["website"];
$website = htmlentities($website);



if ($inhalt == "" or $user == "")
   {
   echo "Sie m�en das Feld \"Namen\"
   und \"Inhalt\" ausf�en";
   }

else
   {

   $datum= date("d.m.Y H:i:s");

   $eintrag="$email|$user|$datum|$website|$inhalt";

   $datei = fopen("gaestebuch.txt", "a");
   


   fwrite($datei, "\n".$eintrag);
   fclose($datei);

   echo "Dein Eintrag wurde erfolgreich gespeichert!";
   }
   
   


?>

<br>
<a href="gaestebuch.php">Sieh nach!</a>
		
	</div>
	<!-- end content -->
	<!-- start rightbar -->
	<div id="rightbar" class="sidebar">
<!--INHALT rechte BOX-->
	</div>
	<!-- end rightbar -->
	<div style="clear: both;"> </div>
</div>
<!-- end page -->
<hr />
<div id="footer">
</div>
</body>
</html>

Und die Datei emailsenden.php:

[code] <?php

$empfaenger = “MEINE MAILADRESSE”;

$betreff = $_POST[“betreff”];
$betreff = htmlentities($betreff);

$sender = $_POST[“sender”];
$sender = htmlentities($sender);

$text = $_POST[“text”];
$text = htmlentities($text);
$text = str_replace("\n", “
”, $text);

mail($empfaenger, $betreff, $text,
“From: $sender <$sendermail>”);
?>[/code]

Bin für jede Hilfe sehr dankbar!

Es gibt dazu möglichkeiten, eine wäre vielleicht du fügst beim Gästebuch ein:

switch ($ziffer) {
case “ü” : echo “ü” break;
case “ö” : echo “ö” break;
}
}

Das heißt das ü umgesetzt wird auf die html-kenntnis &uuml

Weiß nicht ob das funktioniert habe mir das script jetzt nicht angeschaut

für sowas gibts php Funktionen und Methoden, da braucht man nicht mit Switch arbeiten.

htmlspecialchars();htmlspecialchars_decode();, utf8_decode();, htmlentities();, usw.

http://www.php.net

da kann man sich darüber schlau machen und spätestens dann ist auch klar an welcher Stelle man es sinnvollsterweise einsetzen sollte.

Ich habe das so gmacht weil ich es im meinen Gästebuch für Smile verwende, und hab einfach mal die Idee so hinzugefügt

Hi.
Hatte das gleiche Problem mit Joomla gehabt.
Bei mir hat folgendes geholfen:
Die Datenbanktabellen (falls es welche gibt, exportieren, die Umlaute
ä = ä
ö = ö
ü = ü
umschreiben und wieder importieren. (Für genauere Anleitung kann man bestimmt auch was
bei Google finden)
Den Charset deiner Seite auf ISO-8859-1 stellen.
Das hat bei mir beklappt, vielleicht funktionierts bei dir ja auch.

Gruß,
trekwork

hi,

prinzipiell isses besser mit utf8 zu arbeiten, zumal mysql automatisch drauf eingestellt ist glaub ansonsten muss man das schon bei der Tabelle umstellen, weil die Änderungen sonst nix bringen. Es ist also besser das ganze schon mit specialchars einzufügen oder halt bei der Ausgabe wieder mit utf8_decode(); zurück in Iso zu zimmern.

Viele Wege führen nach Rom, aber man sollte halt funktionen nutz die von Haus aus da sind, anstelle sich komplizierte Ersetzungsfunktionen zu basteln, die etwas einfach langsamer machen.

Guter Einwand, aber bei mir hat UTF-8 nur Probleme gemacht
Sicherlich ist es besser auf UTF-8 umzusteigen, aber
vielleicht sollte man noch ein bisschen warten, da noch
nicht alles darauf umgestellt ist. ISO-8859-1 hat, soweit ich
weiß keine Nachteile.

@TrekWork / Threadstarter:
Wenn man auf ISO-8859-1 umsteigt sind diese Probleme meistens weg. Und es bringt ja nicht
wirklich spürbare Nachteile, soviel ich weiss.

greez,
mmemichi

Linux hat UTF-8 viel lieber… (Außerdem verwende ich es auch, und hatte nie Probleme)

Bei falscher ausgabe “echo utf8_encode($string);” verwenden…