Hi,
ich habe ein Datei-Upload-Script auf Ajax-Basis. Wenn man Dateien mit Umlauten hochläd, werden diese Umlaute umgewandelt in ein merkwürdiges Format. Aus einem ü wird bspw. ü
Welche Codierung ist das und wie kann ich die Umlaute dann ersetzen (zB durch ue)?
Ich arbeite standardmäßig auf UTF-8-Basis.
Die php, die nach Upload aufgerufen wird hat folgenden Inhalt:
$mail = preg_replace(Array("/\./","/@/"), Array("__","_-_"), $_GET['mail']);
$uploaddir = $_SERVER['DOCUMENT_ROOT'].'/uploads/'.$mail.'--';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
$_maxmb = 2;
if ($_FILES['userfile']['size'] > $_maxmb*1024*1024) {
echo 'oversize';
}
else {
//move_uploaded_file ist die Standard PHP-Funktion um Dateien auf dem Server zu verarbeiten
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
echo $mail;
} else {
// Als echo keinesfalls false benutzen. Führt zu Konflikten mit dem Ajax-Request
echo 'error';
}
}
Nehme mal an, dass ich bei move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile) ein preg_replace einbauen muss. Aber nach welchen Zeichen muss ich suchen, um üöäÜÖÄß zu ersetzen? Kenne denZeichensatz nicht, der hier für die Ersetzung von Umlauten verwendet wird..
Danke für eure Hilfe