Seite 1 von 1

Fehler: "Compilation failed: invalid UTF-8 string"

Verfasst: 11.06.2012 17:42
von the_zoker_09
Hallo zusammen,

Wenn sich ein User bei mir im Board registrieren will kommt folgender Fehler:
Der Benutzername enthält unzulässige Zeichen.
Und das obwohl der User sich mit Max Musterman anmeldet und folgendes erlaubt ist:

Code: Alles auswählen

$regex= '[a-zA-ZäöüÄÖÜß ]+';
Auch steht ganz oben auf der Seite folgender php Fehler:
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions_user.php on line 1561: preg_match(): Compilation failed: invalid UTF-8 string at offset 9
In den Zeilen 1559-1565 in /includes/function_user.php steht das:

Code: Alles auswählen

	if ($pcre)
	{
		if (!preg_match('#^' . $regex . '$#u', $username))
		{
			return 'INVALID_CHARS';
		}
	}
Wo liegt hier der Fehler?

Vielen Dank
the_zoker_09

Re: Fehler: "Compilation failed: invalid UTF-8 string"

Verfasst: 12.06.2012 00:08
von BNa
Und Du hast die function_user.php garantiert nicht verändert?

Re: Fehler: "Compilation failed: invalid UTF-8 string"

Verfasst: 13.06.2012 14:11
von the_zoker_09
Doch sie wurde durch mehrere Mods verändert:
http://www.phpbb.com/customise/db/mod/p ... ntrol_mod/
http://www.phpbb.com/customise/db/mod/qte/

Hier die aktuelle Datei, wer was damit anfangen kann (bzw. will):
http://pastebin.com/5NEaA0dp

Danke :D

Edit:
Hab mal die Unterschiede zwischen der jetzigen Datei und der original phpBB Datei überprüft:
  • in Zeile 179-185 die Änderungen der Profile Fields Control MOD

    Code: Alles auswählen

    //Begin: Profile Fields Control MOD
    	if (!function_exists('register_user_function'))
    	{
    		include($phpbb_root_path . 'includes/functions_profile_control.' . $phpEx);
    	}
    	register_user_function($sql_ary, $user_row);
    //End: Profile Fields Contr[code]
    ol MOD[/code]
  • in Zeile 460-466 die Änderungen der QTE

    Code: Alles auswählen

    //-- mod : quick title edition -------------------------------------------------
    //-- add
    	$sql = 'UPDATE ' . TOPICS_TABLE . '
    		SET topic_attr_user = ' . ANONYMOUS . '
    		WHERE topic_attr_user = ' . (int) $user_id;
    	$db->sql_query($sql);
    //-- fin mod : quick title edition ---------------------------------------------
    
  • in Zeile 1518-1521 eigene Vorgaben, was benutzbare Buchstaben angeht

    Code: Alles auswählen

    case 'USERNAME_ALPHA_ONLY':
    	$pcre = true;
    	$regex = '[a-zA-ZäöüÄÖÜß ]+';
    break;
    
  • in Zeile 3611-3630 zu Letzt noch eine selbst geschriebene Funktion

    Code: Alles auswählen

    function check_mobile() {
        $agents = array(
            'Windows CE', 'Pocket', 'Mobile',
            'Portable', 'Smartphone', 'SDA',
            'PDA', 'Handheld', 'Symbian',
            'WAP', 'Palm', 'Avantgo',
            'cHTML', 'BlackBerry', 'Opera Mini',
            'Nokia'
        );
    
        for ($i=0; $i<count($agents); $i++) 
        {
            if(isset($_SERVER["HTTP_USER_AGENT"]) && strpos($_SERVER["HTTP_USER_AGENT"], $agents[$i]) !== false)
            {
    		 return true;
    	}
        }
    
    return false;
    }
    
Wenn ich die aktuelle gegen die originale austausche kommt zwar kein Fehler, aber bei der eingabe eines normalen Namens (Max Mustermaan) kommt dieser Fehler:
Der Benutzername enthält unzulässige Zeichen.
edit 2: so wies aussieht kommt der Fehler von der Veränderten Buchstaben Vorgabe.
Was ist da falsch?
Kann es sei, dass Buchstaben die ä,ö,ü nicht dem UTF-8 Standart entsprechen?
Was muss ich da ändern?

edit 3:
Also Problem gelöst: Ich hatte die Datei in Notepad++ nicht in UTF-8 gespeichert.

Re: Fehler: "Compilation failed: invalid UTF-8 string"

Verfasst: 13.06.2012 21:37
von BNa
the_zoker_09 hat geschrieben:Also Problem gelöst: Ich hatte die Datei in Notepad++ nicht in UTF-8 gespeichert.
UTF-8 ohne BOM :wink:
Also am besten alle Dateien grundsätzlich in diesem Format und alles ist gut :geek:

Re: Fehler: "Compilation failed: invalid UTF-8 string"

Verfasst: 13.06.2012 21:39
von the_zoker_09
Was is da der Unterschied? (also UTF-8 <> UTF-8 ohne BOM)

Re: Fehler: "Compilation failed: invalid UTF-8 string"

Verfasst: 13.06.2012 21:43
von BNa