# Export UTF-8 append data

**URL:** <https://community.mp3tag.de/t/export-utf-8-append-data/60064>\
**Category:** Support\
**Created:** [February 14, 2023, 1:38pm UTC](https://community.mp3tag.de/t/export-utf-8-append-data/60064 "2023-02-14T13:38:19Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![olivierq02](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/o/8e7dd6/32.png) [@olivierq02](https://community.mp3tag.de/u/olivierq02)\
**Post date:** [February 14, 2023, 1:38pm UTC](https://community.mp3tag.de/t/export-utf-8-append-data/60064/1 "2023-02-14T13:38:19Z")

</div>

Hello everyone,  
User of the squeezebox system controlled with the LMS software (Logitech Media Server) I am facing a problem:  
My playlists are generated under MP3TAG with actions.  
To continue to benefit from LMS updates, I have to make it work in Docker.  
Since then I have problems generating my playlists.  
Let me explain :  
For LMS under DOCKER the playlist files must be encoded in UTF-8.  
When I create a first playlist file with MP3TAG no problem, the playlist is well seen under LMS.  
When I add 1 or more titles to my playlist, they are not seen in LMS.  
I finally figured out why:  
When exporting, MP3TAG completes the existing playlist file (in the MP3TAG export function I checked the "attach data" option).  
and systematically returns the UTF-8 recognition characters EF,BB,BF.  
It's like I had 2 UTF-8 files attached instead of a single UTF-8 file and LMS only sees the first one.  
I manually removed the second character set EF,BB,BF. My reading list is correctly seen in LMS.  
Is there a way to have the characters EF,BB,BF only once at the beginning of the file?

---

<div class="post-metadata">

**Author:** ![ohrenkino](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ohrenkino/32/4843_2.png) [@ohrenkino](https://community.mp3tag.de/u/ohrenkino)\
**Post date:** [February 14, 2023, 1:47pm UTC](https://community.mp3tag.de/t/export-utf-8-append-data/60064/2 "2023-02-14T13:47:39Z")

</div>

There is a function to create playlists from selected or all files - so you don't have to use an export script.  
Also, you can load a generated playlist in MP3tag, add further files and then save that playlist again as a new file and/or overwrite the old file.  
And you could try in the Options for Export whether writing a BOM helps or not.

---

<div class="post-metadata">

**Author:** ![olivierq02](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/o/8e7dd6/32.png) [@olivierq02](https://community.mp3tag.de/u/olivierq02)\
**Post date:** [February 14, 2023, 3:51pm UTC](https://community.mp3tag.de/t/export-utf-8-append-data/60064/3 "2023-02-14T15:51:50Z")

</div>

Good morning ohrenkino,  
First of all thank you for your support.  
I'm not sure if the playlist generated by MP3TAG is read by LMS because it doesn't seem to be in UTF-8 format.  
Also, when I create a playlist, I populate a "PLAYLIST" field in the selected titles.  
That's why I go through an export function.  
In any case I try this evening at home the native function MP3TAG playlist and let you know.  
Thanks again.

---

<div class="post-metadata">

**Author:** ![ohrenkino](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ohrenkino/32/4843_2.png) [@ohrenkino](https://community.mp3tag.de/u/ohrenkino)\
**Post date:** [February 14, 2023, 3:54pm UTC](https://community.mp3tag.de/t/export-utf-8-append-data/60064/4 "2023-02-14T15:54:23Z")

</div>

> [@olivierq02](#):
>
> That's why I go through an export function.

It would be nice to see the export script then.

> [@olivierq02](#):
>
> because it doesn't seem to be in UTF-8 format.

You would have to use m3u8 as extension for the playlist to generate it in UTF-8:

> **[Playlist – Mp3tag Documentation](https://docs.mp3tag.de/customization/options/playlist/#filename-of-playlist)**
>
> Documentation of Playlist configuration options. Mp3tag is the universal Tag Editor.

---

<div class="post-metadata">

**Author:** ![olivierq02](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/o/8e7dd6/32.png) [@olivierq02](https://community.mp3tag.de/u/olivierq02)\
**Post date:** [February 14, 2023, 4:50pm UTC](https://community.mp3tag.de/t/export-utf-8-append-data/60064/5 "2023-02-14T16:50:19Z")

</div>

Apparently it should work with the M3U8 extension.  
However, I find it cumbersome to use MP3TAG's native PlayList function to add titles:

- Load playlist.
- Load the directory containing the new titles to add.
- Select all the titles of the new playList.
- Overwrite old Playlist.

"Actions" method  
Load the directory containing the new titles to add.  
Select the titles to add  
"Action" icon to launch the "PlayList" action : format the "PlayList" field  
then Export function :  
$filename(m3u,UTF-8)$loop(%\_path%)$replace(%\_path%,'\server',,'SERVER',,'','/')  
$loopend()

I specify that I manage a playlist of several hundred titles.

---

<div class="post-metadata">

**Author:** ![LyricsLover](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/l/c6cbf5/32.png) [@LyricsLover](https://community.mp3tag.de/u/LyricsLover)\
**Post date:** [February 14, 2023, 4:54pm UTC](https://community.mp3tag.de/t/export-utf-8-append-data/60064/6 "2023-02-14T16:54:43Z")

</div>

> [@olivierq02](#):
>
> However, I find it cumbersome to use MP3TAG's native PlayList function to add titles:

How would you do that faster/easier?

---

<div class="post-metadata">

**Author:** ![ohrenkino](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ohrenkino/32/4843_2.png) [@ohrenkino](https://community.mp3tag.de/u/ohrenkino)\
**Post date:** [February 14, 2023, 5:01pm UTC](https://community.mp3tag.de/t/export-utf-8-append-data/60064/7 "2023-02-14T17:01:21Z")

</div>

Have you tried to write the export without BOM?

---

<div class="post-metadata">

**Author:** ![olivierq02](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/o/8e7dd6/32.png) [@olivierq02](https://community.mp3tag.de/u/olivierq02)\
**Post date:** [February 14, 2023, 5:11pm UTC](https://community.mp3tag.de/t/export-utf-8-append-data/60064/8 "2023-02-14T17:11:34Z")

</div>

Sorry, I have to hit the road.  
I will resume the discussion tonight or tomorrow.

---

<div class="post-metadata">

**Author:** ![olivierq02](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/o/8e7dd6/32.png) [@olivierq02](https://community.mp3tag.de/u/olivierq02)\
**Post date:** [February 14, 2023, 10:11pm UTC](https://community.mp3tag.de/t/export-utf-8-append-data/60064/9 "2023-02-14T22:11:02Z")

</div>

I had not seen this parameter in MP3TAG.  
I just tried it and it works. 😀  
1000 thanks for your help

---

<div class="post-metadata">

**Author:** ![olivierq02](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/o/8e7dd6/32.png) [@olivierq02](https://community.mp3tag.de/u/olivierq02)\
**Post date:** [February 14, 2023, 10:34pm UTC](https://community.mp3tag.de/t/export-utf-8-append-data/60064/10 "2023-02-14T22:34:27Z")

</div>

MP3TAG is good for creating playlist, but not for modifying playlist, especially for adding tracks.  
As explained previously, it takes a lot of manipulations to add one or more tracks.  
There should be an "Add Tracks to Playlist" submenu.  
Finally, we may be out of the scope of MP3Tag, whose primary role is to tag songs.  
But it's true that we want to control the entire "audio files" chain with a single software.  
MP3Tag moves there slowly.  
For example, resizing covers (no need to use image software anymore).  
Native replayGain would also be better, although I managed to do without Foobar by creating a tool that uses RsGain 3.11 software  
So let's hope that MP3TAG comes out a little more of its primary function

---

<div class="post-metadata">

**Author:** ![Doug\_Mackie](https://community.mp3tag.de/user_avatar/community.mp3tag.de/doug_mackie/32/279_2.png) [@Doug\_Mackie](https://community.mp3tag.de/u/Doug_Mackie)\
**Post date:** [February 15, 2023, 7:22pm UTC](https://community.mp3tag.de/t/export-utf-8-append-data/60064/11 "2023-02-15T19:22:16Z")

</div>

> [@olivierq02](#):
>
> There should be an "Add Tracks to Playlist" submenu.

Actually, you can use drag and drop to add tracks to an existing playlist:

:[How do I add new songs to an existing playlist in MP3Tag?](https://community.mp3tag.de/t/how-do-i-add-new-songs-to-an-existing-playlist-in-mp3tag/43115)

---

<div class="post-metadata">

**Author:** ![olivierq02](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/o/8e7dd6/32.png) [@olivierq02](https://community.mp3tag.de/u/olivierq02)\
**Post date:** [February 16, 2023, 1:01pm UTC](https://community.mp3tag.de/t/export-utf-8-append-data/60064/12 "2023-02-16T13:01:15Z")

</div>

Hello Doug\_Mackie

I have seen this function but it is not practical because it requires loading the playlist to modify it.  
This can be annoying for long playlists  
So I prefer to go through this type of action:  
Example for "Generale" playlist for LMS under DOCKER (NAS SYNOLOGY)

* * *

```auto
$filename(m3u8,UTF-8)$loop(%_path%)#EXTINF:%_length_seconds%,%artist% - %title%
$replace(%_path%,'\\server\music',..)
$loopend()

```

* * *

Target file:`Generale.m3u8` (append data and box "write the BOM" unchecked 😉 thanks ohrenkino

I also created an action that generates a .BAT file to remove tracks from the playlist.  
The bat file is launched by the tools menu (right click on a track) :

* * *

```auto
$filename(m3u,utf-8)@echo on
'rem This action generates the .bat file but does not execute it.
'rem Find "string to search" <"file in which to search for the string"> "search result file"
'rem Find /V Show all lines not containing the specified string.
'rem Find /I Specifies that upper and lower case letters should not be distinguished during the search.
$loop(%_path%)
copy "\\SERVER\music\PlayList\Generale.m3u8" "\\SERVER\music\PlayList\TRAVAIL.TXT"
find /V /I "#EXTINF:%_length_seconds%,%artist% - %title%" <"\\SERVER\music\PlayList\TRAVAIL.TXT"> "\\SERVER\music\PlayList\Generale.m3u8"
copy "\\SERVER\music\PlayList\Generale.m3u8" "\\SERVER\music\PlayList\TRAVAIL.TXT"
find /V /I "$replace(%_path%,'\\server\music',..)" <"\\SERVER\music\PlayList\TRAVAIL.TXT"> "\\SERVER\music\PlayList\Generale.m3u8"
$loopend()
Del \\SERVER\music\PlayList\TRAVAIL.TXT
Del \\SERVER\music\PlayList\SupPlayListGenerale.bat

```

* * *

Obviously these 2 files are to be adapted according to its configuration.

I find this solution more flexible to use.

---

<div class="post-metadata">

**Author:** ![MotleyG](https://community.mp3tag.de/user_avatar/community.mp3tag.de/motleyg/32/440_2.png) [@MotleyG](https://community.mp3tag.de/u/MotleyG)\
**Post date:** [February 16, 2023, 2:49pm UTC](https://community.mp3tag.de/t/export-utf-8-append-data/60064/13 "2023-02-16T14:49:06Z")

</div>

> [@olivierq02](#):
>
> I have seen this function but it is not practical because it requires loading the playlist to modify it.  
> This can be annoying for long playlists

How is this any different than loading any other set of files into mp3tag already? Simply loading the playlist itself to start, then adding the additional files you wish to join into that list should suffice. Then resave the new playlist contents over the original playlist file from mp3tag. Seems pretty straightforward and simple to me.

---

<div class="post-metadata">

**Author:** ![ohrenkino](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ohrenkino/32/4843_2.png) [@ohrenkino](https://community.mp3tag.de/u/ohrenkino)\
**Post date:** [February 16, 2023, 4:44pm UTC](https://community.mp3tag.de/t/export-utf-8-append-data/60064/14 "2023-02-16T16:44:33Z")

</div>

> [@MotleyG](#):
>
> Simply loading the playlist itself to start, then adding the additional files you wish to join into that list should suffice.

THis method has also the advantage that missing files will not be included when the playlist is saved again. So the batch file to remove files would not be necessary.

---

<div class="post-metadata">

**Author:** ![olivierq02](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/o/8e7dd6/32.png) [@olivierq02](https://community.mp3tag.de/u/olivierq02)\
**Post date:** [February 16, 2023, 5:17pm UTC](https://community.mp3tag.de/t/export-utf-8-append-data/60064/15 "2023-02-16T17:17:37Z")

</div>

> [@MotleyG](#):
>
> How is this any different than loading any other set of files into mp3tag already? Simply loading the playlist itself to start, then adding the additional files you wish to join into that list should suffice. Then resave the new playlist contents over the original playlist file from mp3tag. Seems pretty straightforward and simple to me.

Maybe easier for you but not for me.  
I mainly work with a play list of around 400 titles.  
When I tag a new album, this method allows me to only have this album on the screen and not my playlist+my new album.  
So I stay focused on him.  
Moreover, why load a play list if you can modify it "remotely"?  
I also specify that I manage a "playlist" field for each title in the play list that I fill in when I add a title and that I delete if I delete a title.  
So when I want to revise the play list I load my music library into MP3TAG and I add or delete tracks. The "PlayList" field lets me know if the title is already present or not.  
Also, when I delete tracks from the playlist, I prefer to select the tracks to delete rather than the tracks to keep.  
Example: 10 titles to be deleted embedded in a playlist of 400 titles: I go through the playlist and I delete the titles one by one.

---

<div class="post-metadata">

**Author:** ![ohrenkino](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ohrenkino/32/4843_2.png) [@ohrenkino](https://community.mp3tag.de/u/ohrenkino)\
**Post date:** [February 16, 2023, 5:32pm UTC](https://community.mp3tag.de/t/export-utf-8-append-data/60064/16 "2023-02-16T17:32:51Z")

</div>

> [@olivierq02](#):
>
> Moreover, why load a play list if you can modify it "remotely"?

I think that all suggestions are well-meaning just to point out that there are so many ways to skin a cat.  
If you have a good workflow, then keep it.  
If you find that something could be optmized - here you have seen suggestions to do it in a different way which not necessarily is the better way.  
Just let us take it as a collection of alternatives.

---

<div class="post-metadata">

**Author:** ![olivierq02](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/o/8e7dd6/32.png) [@olivierq02](https://community.mp3tag.de/u/olivierq02)\
**Post date:** [February 16, 2023, 5:40pm UTC](https://community.mp3tag.de/t/export-utf-8-append-data/60064/17 "2023-02-16T17:40:25Z")

</div>

> [@ohrenkino](#):
>
> I think that all suggestions are well-meaning just to point out that there are so many ways to skin a cat.  
> If you have a good workflow, the keep it.  
> If you find that something could be optmized - here you have seen suggestions to do it in a different way which not necessarily is the better way.  
> Just let us take it as a collection of alternatives.

I completely agree with you.

---

<div class="post-metadata">

**Author:** ![MotleyG](https://community.mp3tag.de/user_avatar/community.mp3tag.de/motleyg/32/440_2.png) [@MotleyG](https://community.mp3tag.de/u/MotleyG)\
**Post date:** [February 16, 2023, 5:43pm UTC](https://community.mp3tag.de/t/export-utf-8-append-data/60064/18 "2023-02-16T17:43:20Z")

</div>

> [@olivierq02](#):
>
> I mainly work with a play list of around 400 titles.

This is not a lot of titles for mp3tag to handle. Even after you have loaded a "new" album, you can quickly add the playlist and add to it right away. You can still add the `PLAYLIST` field at anytime as well. I was just suggesting a alternative solution directly from within mp3tag that should effectively do this.

> [@olivierq02](#):
>
> MP3TAG is good for creating playlist, but not for modifying playlist, especially for adding tracks.  
> As explained previously, it takes a lot of manipulations to add one or more tracks.

Obviously you have your own workflow that works for your needs, but what you stated about any difficulty in modifying playlists isn't really accurate for the typical expected use case IMO. Certainly the process of exporting new playlists, and then processing that further with an external .bat file is more complex than the methods suggested above that are already available from within mp3tag.

---

<div class="post-metadata">

**Author:** ![olivierq02](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/o/8e7dd6/32.png) [@olivierq02](https://community.mp3tag.de/u/olivierq02)\
**Post date:** [February 16, 2023, 5:57pm UTC](https://community.mp3tag.de/t/export-utf-8-append-data/60064/19 "2023-02-16T17:57:47Z")

</div>

> [@MotleyG](#):
>
> This is not a lot of titles for mp3tag to handle

I don't doubt the capability of MP3TAG but it's more a matter of screen visibility.

> [@MotleyG](#):
>
> Certainly the process of exporting new playlists, and then processing that further with an external .bat file is more complex than the methods suggested above that are already available from within mp3tag.

Try deleting 10 titles in a large playlist by both ways and judge.  
MP3tag does not support removing tracks from a playlist, but rather keeping them. The nuance is subtle but important.

---

<div class="post-metadata">

**Author:** ![system](https://community.mp3tag.de/uploads/default/original/2X/c/ce7035d426cb755a7916793326d23b465222a407.png) [@system](https://community.mp3tag.de/u/system)\
**Post date:** [March 18, 2023, 5:58pm UTC](https://community.mp3tag.de/t/export-utf-8-append-data/60064/20 "2023-03-18T17:58:11Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
