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:
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
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
Also am besten alle Dateien grundsätzlich in diesem Format und alles ist gut

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