Re: Umlaute in Playlisten
				Verfasst: 7. Oktober 2015 17:28
				von mkaleu
				Hallo, leider hat sich  osterkamp24 nicht mehr gemeldet. Ob er eine Lösung hat?
Ich bin es jedenfalls Leid mit Umlauten und Sonderzeichen und habe meine kompletten Titel und Playlisten bereinigt. Alles was unter ASCII 32 und größer 127 ist wird in passende ASCII  Zeichen umgewandelt. Mit denselben Einstellungen habe ich dann auch noch die Playlisten durchlaufen lassen. Automatisch mit Autoit. Nun läuft es einwandfrei. 
Mike
$dirs = @scriptdir 
$dirs = StringReplace($dirs, "\Debug","")
HotKeySet("{ESC}", "_DoNothing")
$afile = ""
$alle_verz = ""
$unterverzeichnis = ""
$alle_verz = _FileListToArray($dirs, "*",2)
if not @error then
	For $v = 1 to $alle_verz[0]
		$verz_aktuell = $dirs & "\" & $alle_verz[$v]
		$u_verz = ""
		$u_verz = _FileListToArray($verz_aktuell, "*.mp3",1)
		if not @error then
		
			For $v_u = 1 to $u_verz[0]
				;if $v_u = 1 = 1 then msgbox(4096,"name ", $verz_aktuell)
				;msgbox(4096,"name ", $u_verz[$v_u])
				$geaendert = false
				$name = $u_verz[$v_u]
				$noasc = false
				For $x = 1 to StringLen($name) 
					$y = Stringmid($name,$x,1)
					$yy = Asc($y)
				 if asc($y) < 32 or asc($y) > 127 then 
					$noasc = true
					$x = StringLen($name)
					endif
				next
				if $noasc then
					;msgbox(4096,$v_u, $y & "  " & $yy & "  " & $name)
					$namealt = $name
					$name = _umlaute($name)
					if $name <> $namealt then $geaendert = true
					vorspann_pruefen ()
					$name = $dirs & "\" & $unterverzeichnis & "\" & $name
					;msgbox(4096,"name ", $dirs & "\" & $alle_verz[$v] & "\" & $namealt & @CRLF & " nach " & @CRLF & $name)
					FileMove($dirs & "\" & $alle_verz[$v] & "\" & $namealt,$name,9)
					ToolTip($v_u & "   " & @CRLF & $dirs & "\" & $alle_verz[$v] & "\" & $namealt &  @CRLF & $name ,100,100)
				endif
			next
		endif
	next
EndIf
MsgBox(4096,"Ergebnis","Alle Dateien Umlaute geaendert",5)
exit
func _umlaute ($zeile)
	$zeile = stringreplace($zeile,Chr(220),"Ue ",0,1)
	$zeile = stringreplace($zeile,Chr(214),"Oe ",0,1)
	$zeile = stringreplace($zeile,Chr(196),"Ae",0,1)
	$zeile = stringreplace($zeile,Chr(252),"ue",0,1)
	$zeile = stringreplace($zeile,Chr(246),"oe",0,1)
	$zeile = stringreplace($zeile,Chr(228),"ae",0,1)
	$zeile = stringreplace($zeile,Chr(223),"ss",0,1)
	$zeile = stringreplace($zeile,Chr(243),"o",0,1)
	$zeile = stringreplace($zeile,"[","(",0,1)
	$zeile = stringreplace($zeile,"]",")",0,1)
	$zeile = stringreplace($zeile,"..",".",0,1)
	$zeile = stringreplace($zeile,"   "," ",0,1)
	$zeile = stringreplace($zeile,"  "," ",0,1)
	$zeile = stringreplace($zeile," .mp3",".mp3",0,1)
	$zeile = stringreplace($zeile,Chr(223),"e",0,1)
	$zeile = stringreplace($zeile,Chr(234),"e",0,1)
	$zeile = stringreplace($zeile,Chr(224),"a",0,1)
	$zeile = stringreplace($zeile,Chr(233),"e",0,1)
	$zeile = stringreplace($zeile,Chr(179),"'",0,1)
	$zeile = stringreplace($zeile,Chr(243),"0",0,1)
	$zeile = stringreplace($zeile,Chr(225),"a",0,1)
	$zeile = stringreplace($zeile,Chr(192),"A",0,1)
	$zeile = stringreplace($zeile,Chr(180),"'",0,1)
	$zeile = stringreplace($zeile,Chr(250),"u",0,1)
	$zeile = stringreplace($zeile,Chr(249),"u",0,1)
	$zeile = stringreplace($zeile,Chr(176),"'",0,1)
	$zeile = stringreplace($zeile,Chr(241),"n",0,1)
	$zeile = stringreplace($zeile,Chr(232),"e",0,1)
	$zeile = stringreplace($zeile,Chr(231),"c",0,1)
	$zeile = stringreplace($zeile,Chr(242),"o",0,1)
	$zeile = stringreplace($zeile,Chr(193),"A",0,1)
	$zeile = stringreplace($zeile,Chr(146),"'",0,1)
	$zeile = stringreplace($zeile,Chr(200),"E",0,1)
	$zeile = stringreplace($zeile,Chr(202),"E",0,1)
	$zeile = stringreplace($zeile,Chr(231),"c",0,1)
	$zeile = stringreplace($zeile,Chr(242),"o",0,1)
	$zeile = stringreplace($zeile,Chr(227),"a",0,1)
	$zeile = stringreplace($zeile,Chr(239),"i",0,1)
	
	return $zeile
endfunc		
Func _DoNothing()
    msgbox(4096,"name ", $u_verz[$v_u])
EndFunc   ;==>_DoNothing
func vorspann_pruefen ()
		$unterverzeichnis  = StringLeft($name, 1) 
		if Asc($unterverzeichnis) > 122 then $unterverzeichnis = "# Num"
		$vorspann = stringLeft($name,4)
		if $vorspann = "The " then $unterverzeichnis = stringMid($name, 5,1)
		if $vorspann = "Die " then $unterverzeichnis = stringMid($name, 5,1)
		if $vorspann = "Der " then $unterverzeichnis = stringMid($name, 5,1)
		if $vorspann = "Das " then $unterverzeichnis = stringMid($name, 5,1)
		if not  StringIsAlpha($unterverzeichnis) Then $unterverzeichnis = "# Num"
		
endfunc