Just nu i M3-nätverket
Jump to content

charset


Aktuellspeedway.se

Recommended Posts

Aktuellspeedway.se

Har stött på ett för mig konstigt problem

 

När jag använder mig av charset iso-8859-1 syns sidans tecken som dom ska förutom en lite ruta som ligger inom en fieldset.

 

Använder jag charset utf-8 funkar det bra inom fieldsetet men inte resten.

 

Vad kan problemet vara?

Link to comment
Share on other sites

Aktuellspeedway.se

Har listat ut att det inte har något med fieldset att göra, så jag kanske bör tillägga att inom denna fieldset hämtar jag en RSS-feed, kan detta har något med saken att göra?

Link to comment
Share on other sites

Aktuellspeedway.se

Ingen som någon idé om vad felet kan vara?

 

Felet ligger ju som ni kanske förstår på ÅÄÖ där bokstäver istället ser ut såhär

 

Š= å

Ä = ä

Ö = Ej stött på ännu

Link to comment
Share on other sites

själva fieldsetet ska inte spela roll. vart får du datan ifrån och hur gör du visningen av informationen?

Link to comment
Share on other sites

Aktuellspeedway.se

Själva scriptet som ligger på sidan ser ut såhär

<fieldset class="rsstop">
BLOGG
</fieldset>
<fieldset class="rsspic">
<IMG SRC="http://www.aktuellspeedway.se/2012/grafik/lindgren.png" WIDTH=209>
</fieldset>
<fieldset class="rsslib">
<?php
require_once("RSS/rsslib.php");
$url = "http://iloapp.aktuellspeedway.se/blog/lindgren?RSS";
echo RSS_Display($url, 1, false, true);
?></fieldset>

 

Och rsslib.php

<?php
/*
RSS Extractor and Displayer
(c) 2007-2010  Scriptol.com - Licence Mozilla 1.1.
rsslib.php

Requirements:
- PHP 5.
- A RSS feed.

Using the library:
Insert this code into the page that displays the RSS feed:

<?php
require_once("rsslib.php");
echo RSS_Display("http://www.xul.fr/rss.xml", 15);
? >

*/

$RSS_Content = array();

function RSS_Tags($item, $type)
{
	$y = array();
	$tnl = $item->getElementsByTagName("title");
	$tnl = $tnl->item(0);
	$title = $tnl->firstChild->textContent;

	$tnl = $item->getElementsByTagName("link");
	$tnl = $tnl->item(0);
	$link = $tnl->firstChild->textContent;

	$tnl = $item->getElementsByTagName("pubDate");
	$tnl = $tnl->item(0);
	$date = $tnl->firstChild->textContent;		

	$tnl = $item->getElementsByTagName("description");
	$tnl = $tnl->item(0);
	$description = $tnl->firstChild->textContent;

	$y["title"] = $title;
	$y["link"] = $link;
	$y["date"] = $date;		
	$y["description"] = $description;
	$y["type"] = $type;

	return $y;
}


function RSS_Channel($channel)
{
global $RSS_Content;

$items = $channel->getElementsByTagName("item");

// Processing channel

$y = RSS_Tags($channel, 0);		// get description of channel, type 0
array_push($RSS_Content, $y);

// Processing articles

foreach($items as $item)
{
	$y = RSS_Tags($item, 1);	// get description of article, type 1
	array_push($RSS_Content, $y);
}
}

function RSS_Retrieve($url)
{
global $RSS_Content;

$doc  = new DOMDocument();
$doc->load($url);

$channels = $doc->getElementsByTagName("channel");

$RSS_Content = array();

foreach($channels as $channel)
{
	 RSS_Channel($channel);
}

}


function RSS_RetrieveLinks($url)
{
global $RSS_Content;

$doc  = new DOMDocument();
$doc->load($url);

$channels = $doc->getElementsByTagName("channel");

$RSS_Content = array();

foreach($channels as $channel)
{
	$items = $channel->getElementsByTagName("item");
	foreach($items as $item)
	{
		$y = RSS_Tags($item, 1);	// get description of article, type 1
		array_push($RSS_Content, $y);
	}

}

}


function RSS_Links($url, $size = 15)
{
global $RSS_Content;

$page = "<ul>";

RSS_RetrieveLinks($url);
if($size > 0)
	$recents = array_slice($RSS_Content, 0, $size + 1);

foreach($recents as $article)
{
	$type = $article["type"];
	if($type == 0) continue;
	$title = $article["title"];
	$link = $article["link"];
	$page .= "<a href=\"$link\">$title</a>\n";			
}

$page .="</ul>\n";

return $page;

}



function RSS_Display($url, $size = 15, $site = 0, $withdate = 0)
{
global $RSS_Content;

$opened = false;
$page = "";
$site = (intval($site) == 0) ? 1 : 0;

RSS_Retrieve($url);
if($size > 0)
	$recents = array_slice($RSS_Content, $site, $size + 1 - $site);

foreach($recents as $article)
{
	$type = $article["type"];
	if($type == 0)
	{
		if($opened == true)
		{
			$page .="\n";
			$opened = false;
		}
		$page .="<b>";
	}
	else
	{
		if($opened == false) 
		{
			$page .= "\n";
			$opened = true;
		}
	}
	$title = $article["title"];
	$link = $article["link"];
	$page .= "<span class='rsstitle'><a href=\"$link\"><B>$title</B></a></span>";

	$description = $article["description"];
	if($description != false)
	{
		$page .= "<br><span class='rssdesc'><a href=\"$link\">$description</a></span>";
	}
	if($withdate)
	{
     $date = $article["date"];
     $page .=' <span class="rssdate"><BR><BR><I>'.$date.'</I></span>';
   }
	$page .= "\n";			

	if($type==0)
	{
		$page .="</b><br />";
	}

}

if($opened == true)
{	
	$page .="</ul>\n";
}
return $page."\n";

}


?>

Link to comment
Share on other sites

Kontrollera att rsslib.php inte är sparad som utf-8

 

Källan där du hämtar datan från kan vara i utf-8 vilket verkligen ställer till det för dig om du inte konventera källan till iso-8859-1 efter att du hämtat det.

 

I så fall skulle du kunna utföra konverteringen med hjälp av "utf8-decode" (http://php.net/manual/en/function.utf8-decode.php) i funktionen "RSS_Retrieve"

Link to comment
Share on other sites

Aktuellspeedway.se

Det är möjligt att jag är ute och cyklar, men eftersom jag har kontroll över källan också har jag ändrat charset där till iso koden.

 

Ser ut såhär

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
<html>
<head>
<title>Lindgren bloggen</title>
<meta name="generator" content="iloblog 1.0"/>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1"/>
<link rel="alternate" title="Lindgren bloggen Feed" href="http://iloapp.aktuellspeedway.se/blog/lindgren?RSS" type="application/rss+xml"/>
<script type="text/javascript" src="http://ilostatic.one.com/iloapp/blog/javascript/wrapper.js"></script>

<style type="text/css"> 
body
{
margin: 0px;
padding: 0px;
}
</style>

</head>
<frameset cols="100%">
<frame id="mainFrame" src="http://iloapp.aktuellspeedway.se/blog/lindgren?Home#niceURL"/>
</frameset>
</html>

 

Det finns inget enkelt man kan lägga in i tex denna koden

 

<?php
require_once("../RSS/rsslib.php");
$url = "http://iloapp.aktuellspeedway.se/blog/lindgren?RSS";
echo RSS_Display($url, 1, false, true");
?>

 

Som gör att tex Ã¥ blir å?

Link to comment
Share on other sites

Aktuellspeedway.se

Fått ett annat problem i samma script.

 

Med samma script rsslib.php includerar jag tre olika RSS-Feeds separat på olika ställen. Två av dom funikar utmärkt den tredje sorterar inläggen fel, istället för senast till äldst så sorterar den äldst till senaste.

 

Dett känns väldigt konstigt efter som den sorterar rätt på dom andra två, kan det vara ngåot som är fle i RSS-Feedsen då?

Link to comment
Share on other sites

ja, kolla rss-flödet hur den sorterar först och främst. Det är det man gör när man felhanterar

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...