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:

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 
Se la variabile $name anzi che bypassarla tramite un metodo la edito direttamente nello Skript, allora funziona, non capisco.