public static function fixUTF8($text, $option = self::WITHOUT_ICONV)
    {
        if (is_array($text))
        {
            foreach($text as $k => $v)
                $text[$k] = self::fixUTF8($v, $option);
            return $text;
        }
        
        $last = "";
        while ($last <> $text)
        {
            $last = $text;
            $text = self::toUTF8(static::utf8_decode($text, $option));
        }
        $text = self::toUTF8(static::utf8_decode($text, $option));
        return $text;
    }