Tom: PHP-/HTML-Zeichen-Problem

Beitrag lesen

Hello,

Ja, danke für die Geduld. Das mit den unterschiedlichen Stellen sollte kein Verwirrspiel sein (leider stehen ja Nachrichtentexte nicht sehr lange auf der Seite), sondern sollte zeigen, was passiert wenn ich nicht alles, was diese Seiten (SR-Online) so hergeben durch ein utf8_decode schicke. Klar, war das herumprobiert, aber anders wusste ich mir eben nicht zu helfen. Das tritt auch z. B. bei zdf-Heute öfters auf, meist wenn sie Anführungsstriche unten verwenden, dass das dann als Fragezeichen erscheint.

Es gibt allerdings auch Funktionen, mit denen man abschätzen kann, ob es sich um eine UTF-8-Codierung handelt.

  
  
function seems_utf8($str)  
{  
    $length = strlen($str);  
  
    for ($i=0; $i < $length; $i++)  
    {  
	$c = ord($str[$i]);  
  
	if ($c < 0x80) $n = 0; # 0bbbbbbb  
	elseif (($c & 0xE0) == 0xC0) $n=1; # 110bbbbb  
	elseif (($c & 0xF0) == 0xE0) $n=2; # 1110bbbb  
	elseif (($c & 0xF8) == 0xF0) $n=3; # 11110bbb  
	elseif (($c & 0xFC) == 0xF8) $n=4; # 111110bb  
	elseif (($c & 0xFE) == 0xFC) $n=5; # 1111110b  
	else return false; # Does not match any model  
  
	for ($j=0; $j<$n; $j++)  
        {  
            # n bytes matching 10bbbbbb follow ?  
	    if ((++$i == $length) || ((ord($str[$i]) & 0xC0) != 0x80)) return false;  
	}  
    }  
    return true;  
}  
  

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
 ☻_
/▌
/ \ Nur selber lernen macht schlau
Die ultimative Seite für Selbermacher