Tom: PHP-/HTML-Zeichen-Problem

Beitrag lesen

Hello,

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;
}

  
Sorry, ich vergaß zu erwähnen, dass es auch noch  
  
    mb\_check\_encoding($str, 'UTF-8');  
  
gibt, wenn die mb\_\*-Funktionen zur Verfügung stehen.  
  
  
  
  
  
  
Liebe Grüße aus dem schönen Oberharz  
  
  
Tom vom Berg  
![](http://selfhtml.bitworks.de/Virencheck.gif)  
  

-- 
 ☻\_  
/▌  
/ \ Nur selber lernen macht schlau  
[Die ultimative Seite für Selbermacher](http://getscript.de/)