Fragezeichen anstatt Umlaute

arraybreak

Erfahrenes Mitglied
Hi All,

habe gerade ein Problem mit den Umlauten, ich versuche ein RSS-Feed in eine Seite einzubauen und anstatt Umlaute kommen nur Fragezeichen.

PS: Wie kann ich machen dass der Text nur ca. höchstens 30 Zeichen ist und danach abbricht?

Hier der Code: Was mache ich falsch?
PHP:
<?php
define('MAGPIE_CACHE_DIR', 'cache');
define('MAGPIE_CACHE_AGE', '600');
require_once('rss_fetch.inc');
$url = 'http://feeds.n24.de/n24/wirtschaft_boerse?format=xml';

if ( $url ) {
$num_items = 5;
$rss = fetch_rss( $url );
$items = array_slice($rss->items, 0,$num_items);
echo $rss->channel['title'];}

echo "<ul class='list-7'>";
foreach ($items as $item) {
$href = $item['link'];
$title = $item['title'];
echo "<li><a href=$href target='_blank'>$title</a></li>";}
echo "</ul>";
?>

Gruß arraybreak
 
Zuletzt bearbeitet:
ich habe auch bereits in die Datei diese zeile eingeben, bringt aber leider nichts

HTML:
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
 
Probiere auch mal folgendes (ganz am Anfang einfügen!):
PHP:
header("Content-Type: text/html; charset=utf-8");
 
Probiere auch mal folgendes (ganz am Anfang einfügen!):
PHP:
header("Content-Type: text/html; charset=utf-8");

Geht auch nicht, kriege folgende Fehlermeldung:

HTML:
Warning: Cannot modify header information - headers already sent by (output started at D:\xampp\htdocs\wp-includes\class.wp-styles.php:92) in D:\xampp\htdocs\wp-content\themes\design\rss_feeds.php on line 2
 
Du solltest diese Funktion bevor irgendwelchen Ausgaben via echo(), var_dump(), ... aufrufen.

Also einfach in der Datei als erstes folgendes schreiben:
PHP:
<?php
header("Content-Type: text/html; charset=utf-8");  
?>
<!-- Restlicher Code! -->
 
Du solltest diese Funktion bevor irgendwelchen Ausgaben via echo(), var_dump(), ... aufrufen.

Also einfach in der Datei als erstes folgendes schreiben:
PHP:
<?php
header("Content-Type: text/html; charset=utf-8");  
?>
<!-- Restlicher Code! -->


Das selbe Problem ;)


Wie kann ich in meine Zeile (die unten jetzt eingefügt ist) die das ausgibt den Befehl "htmlentities" einfügen****?

PHP:
echo "<li><a href=$href target='_blank'>$title</a></li>";}
 
Zuletzt bearbeitet:
Problem gefunden! In der Datei "rss_fetch.inc" war in dieser Zeile die "ISO-8859-1" Codierung anstatt dem "UTF-8" drin :D

PHP:
    if ( !defined('MAGPIE_OUTPUT_ENCODING') ) {
        define('MAGPIE_OUTPUT_ENCODING', 'UTF-8');
    }


Das selbe Problem ;)
 
Wenn Du Daten von fremden Seiten holst, hast Du so einige Schwachstellen.

(A) Wie liefert die Seite die Daten an.
(B) Wie liest Du sie aus und wie verarbeitest Du sie.
(C) Wie gibst Du sie aus.
(D) Wie will der Browser die Seite anzeigen.

(Allein, dass Dein php-Sourcecode, also die Datei, anstatt in UTF8 in ISO8859-1 kodiert ist, bringt schon Probleme mit sich. Da reicht nicht die Header-Definition.)

In jedem der Punkte könnte der Fehler stecken.
mfg chmee
 
Zurück