php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 08.12.2008, 20:06  
obi
Erfahrener Benutzer
 
Registriert seit: 26.06.2004
Beiträge: 270
obi
Standard xml feed mit php Keine Umlaute

Hallo,
Auf der Seite
Daily-Picks Bundesliga-Tippspiel News Feed
werden statt Umlauten Sonderzeichen angezeigt, wie umgehe ich das?
Ich denke mal, ich kann irgendwas im Header einstellen, nur was?

Bisher:
Code:
<?
header("content-type:application/rss+xml");
include("../../files/dp_db_connexion.php"); 
?>

<rss version="2.0">
<channel>
    <title>Daily-Picks Bundesliga-Tippspiel News Feed</title>     
    <link>http://www.daily-picks.de/</link>
    <description>Tipps zur Fußball-Bundesliga</description>
    
	<?
	$query = "SELECT ID, Text, Artikelurl, Timestamp, Ueberschrift FROM news LIMIT 10";
	$result = mysql_query($query)or die(mysql_error());
	while($row = mysql_fetch_array($result))
		{
		echo "<item>
		<title>".$row["Ueberschrift"]."</title>         
        <link>http://www.daily-picks.de/".$row["ID"]."_".$row["Artikelurl"].".html</link>
        <description>".substr($row["Text"],0,250)."(...)</description>
		<pubDate>".date("d.m.Y. h:i",$row["Timestamp"])."</pubDate>
   		</item> ";
		
		}
	
	?>
	
	 
</channel>
</rss>
obi ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 08.12.2008, 20:10  
Erfahrener Benutzer
 
Registriert seit: 27.09.2008
Beiträge: 316
PHP-Kenntnisse:
Fortgeschritten
moveax1 befindet sich auf einem aufstrebenden Ast
Standard

Schuss ins blaue:

PHP: htmlentities - Manual

Aber ich weiss nicht ob ein RSS Reader mit HTML Umlauten umgehen kann.
moveax1 ist offline  
Alt 08.12.2008, 20:11  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.709
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Das sieht nach ISO-8859-1-Daten aus, die als UTF-8 behandelt werden.
PHP-Code:
header("Content-type:application/rss+xml; Charset=ISO-8859-1"); 
sollte helfen.

@moveaux1: in seinem Code kommt kein htmlentities() vor. Ein UTF-8-Mismatch bei htmlentities() ist auch auszuschließen, das sähe anders aus. Feedreader können mit den Zeichensätzen durchaus umgehen, nur mit Entities wie &auml; &ouml; oder &uuml; nicht, da diese in der RSS-DTD nicht definiert sind, dafür aber mit den numerischen Varianten. Bei einem passenden Content-Type kann man sich die Kodierung aber auch sparen.
Aufgrund der nicht vorhandenen Entitäten wäre htmlentities() also lediglich eine Lösung, die zu einem Parser-Error führen würde. htmlspecialchars() sollte man aber dennoch anwenden, &lt;, &gt; und &amp; sind nämlich definiert.
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems

Geändert von Manko10 (08.12.2008 um 20:16 Uhr).
Manko10 ist offline  
Alt 08.12.2008, 20:14  
Erfahrener Benutzer
 
Registriert seit: 27.09.2008
Beiträge: 316
PHP-Kenntnisse:
Fortgeschritten
moveax1 befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Manko10 Beitrag anzeigen
Das sieht nach ISO-8859-1-Daten aus, die als UTF-8 behandelt werden.
PHP-Code:
header("Content-type:application/rss+xml; Charset=ISO-8869-1"); 
sollte helfen.

@moveaux1: in seinem Code kommt kein htmlentities() vor. Ein UTF-8-Mismatch bei htmlentities() ist auch auszuschließen, das sähe anders aus. Feedreader können mit den Zeichensätzen durchaus umgehen, nur mit Entities wie &auml; &ouml; oder &uuml; nicht, da diese in der RSS-DTD nicht definiert sind, dafür aber mit den numerischen Varianten. Bei einem passenden Content-Type kann man sich die Kodierung aber auch sparen.
Gut Gut, war wie gesagt der Schuss ins blaue
Wieder was dazu gelernt.
moveax1 ist offline  
Alt 08.12.2008, 20:16  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.709
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Habe noch einen Satz angefügt.

Der Charset heißt übrigens ISO-8859-1. Da habe ich wohl die falsche Taste erwischt.
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline  
Alt 08.12.2008, 20:21  
obi
Erfahrener Benutzer
 
Registriert seit: 26.06.2004
Beiträge: 270
obi
Standard

danke, genau sowas hab ich gemeint.
Was meinst Du mit
Zitat:
htmlspecialchars() sollte man aber dennoch anwende
genau?
Die Ausgabe des Textes codieren?
obi ist offline  
Alt 08.12.2008, 20:32  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.709
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Nein, die HTML-Sonderzeichen <, >, " und & (und mit Option ENT_QUOTES auch ') maskieren.
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline  
Alt 08.12.2008, 20:35  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

pubDate sollte übrigends keine deutsche Datums-Angabe sein sondern nach RFC 822 ( date(DATE_RFC822, $deinTimestamp); )

da RSS im Endeffekt XML ist, sollte da eventuell noch ein
Code:
<?xml version="1.0" encoding="ISO-8859-1"?>
mitrein.

Standard-Encoding für XML ist nämlich UTF-8, ich weis ja nicht nach welchen Kriterien RSS-Reader üblicherweise das verwendete Charset ermitteln, ob die auch den HTTP-Header nehmen, oder das xml-encoding (fallback auf utf-8 ?) ... etc
robo47 ist offline  
Alt 08.12.2008, 20:38  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.709
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Ich vermute, dass der vom Server gesendete Content-Type das letzte Wort hat.
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline  
Alt 08.12.2008, 22:59  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Zitat:
Zitat von Manko10 Beitrag anzeigen
Nein, die HTML-Sonderzeichen <, >, " und & (und mit Option ENT_QUOTES auch ') maskieren.
Weil das nämlich auch die XML-Sonderzeichen sind, bzw. genau diejenigen Entitäten, die XML von sich aus bereitstellt
David ist offline  
 


Themen-Optionen
Thema bewerten
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.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Umlaute und MySQL4.1 Datenbanken 2 15.11.2009 15:28
Umlaute und str_replace MatzeMuc86 PHP Tipps 2008 20 22.10.2008 20:41
Umlaute und Ajax themonk JavaScript, Ajax und mehr 5 12.10.2008 18:30
Umlaute in Datenbank zerschossen. Wie reparieren? MatzeMuc86 Datenbanken 1 14.09.2008 17:48
Umlaute in Datenbank Eldra PHP Tipps 2008 3 14.05.2008 07:11
XML parsen und Umlaute betterknower PHP Tipps 2008 6 31.12.2007 18:35
UTF8 Dump erzeugt nach import in UTF8 kod DB falsche Umlaute Carino Datenbanken 18 07.05.2007 23:49
Umlaute bei Linux flual2000 PHP Tipps 2006 10 28.04.2006 13:12
Umlaute in Texte ersetzen! wiegia086 PHP Tipps 2006 2 20.04.2006 08:58
Umlaute in Mailformualr auf Strato-Server PHP Tipps 2006 0 16.02.2006 15:44
[Erledigt] Keine Umlaute beim MediaWiki im Internet Explorer PHP Tipps 2006 1 15.02.2006 18:50
Umlaute... JK PHP-Fortgeschrittene 7 07.12.2005 20:55
Umlaute in Dateien per CLI in HTML-Entities umwandeln PHP-Fortgeschrittene 5 19.07.2005 09:06
[Erledigt] Umlaute werden falsch maskiert PHP Tipps 2004-2 4 11.11.2004 13:19

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
xml umlaute, php date umlaute, http://www.php.de/php-tipps-2008/49672-xml-feed-mit-php-keine-umlaute.html, php xml sonderzeichen maskieren, xml keine umlaute, xml sonderzeichen maskieren, rss sonderzeichen php, xml sonderzeichen maskieren php, php xml sonderzeichen ersetzen, rss xml auf webseite keine umlaute, sonderzeichen in xml, php xml entities, rss reader umlaute, php sonderzeichen maskieren, php rss feed umlaute, news feed with php, xml php sonderzeichen maskieren, date_rfc822 rss php pubdate, php xml zeichen maskieren, pubdate umwandeln rfc

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:26 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum