Sonderzeichen in M3U-Dateien

German support forum

Moderators: Hacker, Stefan2, white

Post Reply
User avatar
oompoop
Power Member
Power Member
Posts: 561
Joined: 2006-04-27, 11:44 UTC
Location: Kiel, Germanistan
Contact:

Sonderzeichen in M3U-Dateien

Post by *oompoop »

Ich erzeuge in meiner Musik-Sammlung mit einer selbstgestrickten Batch von den MP3-Dateien des jeweiligen Verzeichnisses ein entsprechendes M3U-File.
Probleme ergeben sich nicht nur bei "ausländischen" Sonderzeichen wie dem französischen Tremas und dem dänischen "Öl" z.B., sondern leider auch bei den deutschen ß, ü, ö, ä, etc.
WinAmp spielt die betreffenden Dateien nicht ab :-(
Liegt das an der noch fehlenden Unicode-Unterstützung oder etwa daran, daß ich den Ctfmon-Remover benutzt habe ...
... oder hätte vielleicht jemand eine griffige Weihnachts-Lösung?!
# 139213 Personal license, TC 9.12RC3, Windows 7 Ultimate, 32bit, Intel Core i3-4130, 4 GB RAM, Standard VGA
User avatar
Dalai
Power Member
Power Member
Posts: 10003
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

Wie sieht die Batch konkret aus? Winamp nimmt die M3U Dateien natürlich nur in ANSI (neuere Versionen können evtl. auch endlich Unicode), das Batch-Zeug arbeitet aber standardmäßig in ASCII; ja, auch auf Windows XP (vielleicht sogar bei Vista auch?). Um das zu verhindern bedarf es einer Umschaltung zwischen den Codepages.

MfG Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64

Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
User avatar
StickyNomad
Power Member
Power Member
Posts: 1933
Joined: 2004-01-10, 00:15 UTC
Location: Germany

Post by *StickyNomad »

Ich erzeuge Playlisten auch per Batchdatei und hatte dasselbe Problem. Mir gab jemand hier mal den Tipp am Anfang der Batchdatei folgende Codepage einzustellen:

Code: Select all

CHCP 1252
Damit klappt es bei mir einwandfrei.
User avatar
Dalai
Power Member
Power Member
Posts: 10003
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

Um es vollkommen unabhängig von der im System verwendeten Sprache zu machen, ist folgender Code nützlich:

Code: Select all

for /f "skip=4 tokens=3" %%i in (
  'reg.exe query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage" /v "ACP"'
) do (
  set active_cp=%%i
)

for /f "skip=4 tokens=3" %%i in (
  'reg.exe query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage" /v "OEMCP"'
) do (
  set oem_cp=%%i
)

REM --- if-Befehl: Würgaround für Windows x64, wo es in der 32 bit CMD kein chcp mehr gibt
if "[%ProgramFiles(x86)%]" == "[]" chcp %active_cp% > NUL
Dies am Anfang der Batch eingefügt, sorgt für ein sorgenfreies Leben ohne Umlautprobleme ;).
Wenn nach der Verarbeitung der ASCII-Umlaute noch weiterer Code (in ANSI) folgen soll, muss man die Codepage wieder zurückschalten:

Code: Select all

REM --- if-Befehl: Würgaround für Windows x64, wo es in der 32 bit CMD kein chcp mehr gibt
if "[%ProgramFiles(x86)%]" == "[]" chcp %active_cp% > NUL
MfG Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64

Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
User avatar
oompoop
Power Member
Power Member
Posts: 561
Joined: 2006-04-27, 11:44 UTC
Location: Kiel, Germanistan
Contact:

Post by *oompoop »

2Dalai&StickyNomad

Vielen lieben Dank!
Eines der kleinen, aber wirklich sinnvollen nachträglichen Weihnachtsgeschenke :D
Da ich nur ein einfacher Mann bin und mich mit Maschinen und elektrischen Dingen & dergleichen nicht so gut auskenne, sieht meine Batch nun höchst einfach aus:

CHCP 1252
dir /b *.mp3 > #.m3u


... und siehe, es ward Licht, und alles klickt und summt wunderbar ...
# 139213 Personal license, TC 9.12RC3, Windows 7 Ultimate, 32bit, Intel Core i3-4130, 4 GB RAM, Standard VGA
Post Reply