 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, Deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
13.07.2008, 19:42
|
#1
|
|
TP-Senior
Registriert seit: Jul 2003
Ort: B´tal
|
XML Umlaute php Ausgabe....
Hi, hab angefangen per simplexml eine xml Datei aus zu lesen, aber die Umlaute und Sonderzeichen werden nicht vernünftig ausgegeben. Woran kann das liegen? An der Formatierung der xml Datei?
So sieht meine Ausgabe aus:
... für länger! Also machts gut! Grüße!
So sieht meine Programmierung aus:
PHP-Code:
$xml = simplexml_load_file($filename);
$id = $_GET['id'];
foreach($xml->news as $news) {
if($news->id == $id) {
$ueberschrift=$news->title;
$text=$news->description;
$datum=$news->date;
$autor=$news->author;
echo '<div style="width: 90%; margin-left: 15px;"><h1>'.$ueberschrift.'</h1><p>'.$text.'</p><p class="small">'.$datum.' | <span style="color:#990000">'.$autor.'</span></p></div>'; }
}
Grüße
|
|
|
13.07.2008, 19:50
|
#2
|
|
TP-Moderator
Registriert seit: Aug 2004
Ort: Kaiserslautern
|
Die Antwort dürfte, wie so oft, utf8 heissen. Info dazu findest Du im angepinnten Wichtigte PHP Tipps Thread.
__________________
#.Viele Grüße, Andreas
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
|
|
|
13.07.2008, 22:38
|
#3
|
|
TP-Senior
Registriert seit: Jul 2003
Ort: B´tal
|
Ich hab mir das mal mit UTF-8 mal angeschaut, meinen Header in jeder Datei ausgetausch usw., aber es ist noch schlimmer geworden, seit dem ich mit utf-8 arbeite. Was ist das Problem?
Code:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<system>
<news>
<id>3</id>
<title>Erstes</title>
<author>DG</author>
<description>Text</description>
<date>13.07.2008</date>
</news>
</system>
PHP-Code:
<!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" />
<title>...</title>
<link rel="stylesheet" href="style/sheet.css" type="text/css" media="screen" />
</head>
<body>
<div id="paper"><?php
$filename = 'news.xml';
if(file_exists($filename)) {
$xml = simplexml_load_file($filename);
$id = $_GET['id'];
foreach($xml->news as $news) {
if($news->id == $id) {
$ueberschrift=$news->title;
$text=$news->description;
$datum=$news->date;
$autor=$news->author;
echo '<div style="width: 90%; margin-left: 15px;"><h1>'.utf8encode($ueberschrift).'</h1><p>'.utf8encode($text).'</p><p class="small">'.utf8encode($datum.)' | <span style="color:#990000">'.utf8encode($autor).'</span></p></div>'; }
}
}
include("../inc/footerpaper.inc.php");
?>
Thnx
|
|
|
13.07.2008, 22:48
|
#4
|
|
TP-Moderator
Registriert seit: Aug 2004
Ort: Kaiserslautern
|
An diesem XML Beispiel wird man wohl kaum den Fehler lokalisieren können. Wichtig ist, dass die XML selbst utf8 enkodiert abgespeichert wurde, sonst tritt bereits hier der Fehler auf. Dann sollte im PHP Script als erstes ein utf8 Header gesendet werden. Beides steht aber bereits im erwähnten PHP Tipps Thread.
__________________
#.Viele Grüße, Andreas
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
|
|
|
14.07.2008, 00:33
|
#5
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
utf8encode: damit kodierst Du utf8 nochmal, dann ist auch klar warum da Murcks bei raus kommt.
|
|
|
14.07.2008, 01:01
|
#6
|
|
TP-Senior
Registriert seit: Jul 2003
Ort: B´tal
|
Auch ohne das utf8encode() kommt murks raus. Ich hab die xml Datei neu geschrieben, auch im UTF-8 Format Unicode, habs extra noch mal eingestellt. Der php code sieht so aus:
PHP-Code:
$filename = 'news.xml'; if(file_exists($filename)) { $xml = simplexml_load_file($filename); $id = $_GET['id']; foreach($xml->news as $news) { if($news->id == $id) { $ueberschrift=$news->title; $text=$news->description; $datum=$news->date; $autor=$news->author; echo '<div style="width: 90%; margin-left: 15px;"><h1>'.$ueberschrift.'</h1><p>'.$text.'</p><p class="small">'.$datum.' | <span style="color:#990000">'.$autor.'</span></p></div>'; } } }
Und so sieht der Fehler aus:
Zitat:
|
Warning: simplexml_load_file() [function.simplexml-load-file]: pages/news.xml:1: parser error : Start tag expected, '<' not found in index.php on line 82
|
wobei ich bei die index.php datei die gleiche Programmierung hat. Zeile 82 ist:
PHP-Code:
$xml = simplexml_load_file($filename);
xml nochmal:
Code:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<system>
<news>
<id>3</id>
<title>Erstes</title>
<author>DG</author>
<description>jhjhjhj</description>
<date>13.07.2008</date>
</news>
</system>
|
|
|
14.07.2008, 01:14
|
#7
|
|
TP-Greis
Registriert seit: Mar 2001
Ort: Berlin, Germany
|
Zitat:
|
Dann sollte im PHP Script als erstes ein utf8 Header gesendet werden.
|
Schrieb Rizzo im übrigen, das hast du auch noch nicht gemacht.
__________________
“My software never has bugs. It just develops random features ...”
» DevShack - die Website des freien Webentwicklers Boris
|
|
|
14.07.2008, 01:18
|
#8
|
|
TP-Moderator
Registriert seit: Aug 2004
Ort: Kaiserslautern
|
Zitat:
Zitat von counter18
Code:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<system>
<news>
<id>3</id>
<title>Erstes</title>
<author>DG</author>
<description>jhjhjhj</description>
<date>13.07.2008</date>
</news>
</system>
|
Das hier ist doch wohl nicht die XML die Probleme macht, oder?
Häng doch mal die richtige XML Datei an oder lade sie irgendwo hoch und PM mir den Link. Das ewige Rätselraten macht keinen Spaß und das Fake-Häppchen vorgesetzt bekommen ebensowenig.
__________________
#.Viele Grüße, Andreas
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
|
|
|
14.07.2008, 01:29
|
#9
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
Warning: simplexml_load_file() [functi ...
damit wurde schon vorher ein Header gesendet, der Deine Header unwirksam macht.
Häng doch mal zum Versuch ein @ rein
PHP-Code:
$xml = @simplexml_load_file($filename);
ausserdem klingt das nach einem defektem xml-file. Einfach mal Inhalt kopieren und eine neue Datei erstellen, am Besten als utf8 speichern.
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Ähnliche Themen
|
| Thema |
Autor |
Forum |
Antworten |
Letzter Beitrag |
|
Umlaute
|
Lena83 |
HTML Puristen |
6 |
20.02.2008 22:49 |
|
Umlaute
|
KatharinaWeber |
GoLive |
5 |
03.07.2007 22:27 |
|
Umlaute
|
ponsa |
Flash |
2 |
29.04.2007 19:51 |
|
Umlaute?
|
willybear |
Webdesign & Co. |
8 |
06.12.2005 19:41 |
|
Umlaute mit PHP
|
doboune |
Traum-Dynamik |
5 |
26.05.2005 22:38 |
Alle Zeitangaben in WEZ +2. Es ist jetzt 08:59 Uhr.
|
 |