2017-01-15 2 views
1

Ich möchte einen Ordner mit dem folgenden Namen erstellen:Konvertieren von Sonderzeichen in PHP

1.Visit zu L'Aventure du Sucre Museum und Fabrik

2.Visit zu Vallée des Couleurs

aber ich bin immer:

  1. Besuch Lâ € ™ Aventure du Sucre Museum und Fabrik
  2. Besuch Vallà © e des Couleurs

wie mit diesen Sonderzeichen umgehen? Ich weiß, es ist ein gut bekanntes Problem, aber ich kann es nicht machen funktioniert bitte meinen Code

hier helfen:

$Title = "Visit to L’Aventure Du Sucre Museum and Factory"; 

mkdir('uploadImage/'. $Title, 0777, true); 
+0

Sie sollten ändern Ihre Benennung der Verzeichnisse. Zum Beispiel könnten Sie den Titel md5, so dass er nur Buchstaben und Zahlen und keine Sonderzeichen enthält. –

+0

Unterstützt Ihr Betriebssystem Multi-Byte-Zeichensätze? Welches OS laufen Sie? – RiggsFolly

+0

Ich verwende Windows 7 Proffessional 64-Bit –

Antwort

2

Versuchen Sie, Ihre Verzeichnisnamen slugify

function slugify($text){ 
    // replace non letter or digits by - 
    $text = preg_replace('~[^\pL\d]+~u', '-', $text); 

    // transliterate 
    $text = iconv('utf-8', 'us-ascii//TRANSLIT', $text); 

    // remove unwanted characters 
    $text = preg_replace('~[^-\w]+~', '', $text); 

    // trim 
    $text = trim($text, '-'); 

    // remove duplicate - 
    $text = preg_replace('~-+~', '-', $text); 

    // lowercase 
    $text = strtolower($text); 

    return $text; 
} 

$Title = "Visit to L’Aventure Du Sucre Museum and Factory"; 
$Title = slugify($Title) 
mkdir('uploadImage/'. $Title, 0777, true); 
+0

Danke, es funktioniert, aber ich dachte, es wäre einfacher –