I've encoded all of my files with mp3tag to ID3v2.4 however due to issues with my SONOS system reading the artwork I have had to convert the tags using iTunes such that SONOS can then display the album art. The problem I am having is that the %_id3v2_character_encoding% option displays the new encoding as ISO-8859-1 instead of UTF8 but after looking at the ID3 frame using exiftool and a hxd hex editor I cannot seem to find any text tags which differ in their values/designated text encoding. Unless there is another flag or similar option I have missed.
I was just wondering how the %_id3v2_character_encoding% is read and how I might go about converting the file back to UTF8 without necessarily re-encoding the artwork
You mention re-encoding. This is say, converting files from Flac to mp3. Not what you describe.
First you need to find out what ID3 tag type the sonas player reads from it's documentation. Say Id3 v2.3 for example. It's the most common type so should work for such a hi-end player.
Then go to options in MP3tag and set the remove and save ID3 types accordingly. Eg. Set save to only 2.3 utf-8, and in the remove section uncheck all but v2.
Then on one problematic test track. Select it and, ctrl+r (to remove all but v2 tags, which is what you set earlier) and ctrl+s to save it to v2.3 (again, what you set earlier).
It also could be the artwork file size that causes your issues. Again, see sonas doc for that.
It is either V2.4 with UTF-8
or V2.3 with UTF-16
or V2.3 with ISO-8859-1
no V2.3 with UTF-8
There is also this thread on different codes: Problems with ID3v2 tags in Unicode format?
When I say re-encoding the artwork I mean is there a way to get mp3Tag to not rewrite the entrie ID3 block and only write specific tags. I can confirm SONOS supports ID3v2.4 and all of my album artwork. The only problem here is with the fact that mp3tag writes data using unsynchronisation
Was writing this on my mobile, I've a very sick PC so couldn't double check. I'm sure if the option doesn't exist the user cannot choose it.
Like ohrenkino pointed out UTF-8 is only available with v2.4.
If you've found ISO-8859-1 then I don't know what's wrong.
Did you try what I said in my 1st reply (edited version)
 Go to options in MP3tag: Tag>mpeg
 Check all types (checkboxes) in the read ID3 section.
 In save secton select the ID3v2 checkbox and 2.4 UTF-8 radio button .
 In the remove section uncheck all but ID3v2.
Then on one problematic test track. Select it and, ctrl+r (to remove all but v2 tags, which is what you set earlier) and ctrl+s to save it to v2.4 (again, what you set earlier).
This should leave you with only v2.4 ID3 tags in UTF-8.
Stevehero as I have said already I can't write any tags with mp3Tag as it will set the unsync flag and that ruins the entire point of what I am trying to do in the first place. The ISO Text Frame encodings were set by iTunes that seems to write ISO for tags containing no UTF8 and UTF8 for tags which do. Very weird and confusing and a strange design choice. I understand why that have done it but would be nice to see iTunes even give the option down the track to make it more user friendly.
I managed to write a solution myself my encoding the files normally with mp3Tag and then using my program to stitch together the ID3 header excluding the APIC frame, writing my own APIC frame by importing the image directly and then appending the song data to generate the required mp3 file.
The final output is an mp3 file with all of the correct and maintained ID3 information, with text encoding UTF-8, no signs of unsync anywhere and files which work perfectly with my SONOS system! Huzzah