Ciao badaze,
in realtà preferisco una RegExp "classica" come mi hai consigliato. Credo che con [^\pL] si accettino tutti i caratteri a dipendenza della lingua selezionata, il mio è stato un tentativo. Qui trovi una spiegazione migliore: http://de2.php.net/manual/en/regexp....ce.unicode.php
Il mio ultimo test ha dato quanto segue, purtroppo le Umlaute vengono ancora riconosciute come segni particolari, sebbene io le abbia esplicitamente acconsentite:
Se la variabile $name anzi che bypassarla tramite un metodo la edito direttamente nello Skript, allora funziona, non capisco.Codice PHP:
//$name ="(Müller).jpg";echo "bin2hex: ".bin2hex($name)."\r\n"; // 284d75cc886c6c6572292e6a7067echo "detect1: ".mb_detect_encoding($name)."\r\n"; // Visualizza: UTF-8echo "Visualizza prima: ".$name."\r\n"; // Visualizza: Müller.jpeg$name = preg_replace('/[^A-Za-z0-9 öäü éàè ÖÄÜ ÉÀÈ ._ -]/ui', '_', $name );echo "detect2: ".mb_detect_encoding($name)."\r\n"; // Visualizza: ASCIIecho "Visualizza dopo: ".$name."\r\n"; // Visualizza: _Mu_ller_.jpg