I'm having a really annoying time with Microsoft Windows/Zune and my ID3v2.3 tags. I've tried both UTF-16 and ISO-8859 with the same problems.
I used MusicBrainz Picard and MP3Tag to methodically go through my collection and add a set of information to the tags. There are a number of custom TXXX text frames used by MusicBrainz to contain their information and some other identifying information for the track-- stuff like "MusicBrainz Track ID" and "ASIN". With MP3Tag I also added the frame TXXX:ALBUM ARTIST (as opposed to "ALBUMARTIST") which is used by Foobar.
When the tag is first written everything is perfect in MP3Tag and Foobar. Unfortunately if Windows or Zune update the tag (and you can't keep Zune from adding stuff to the tag even if you disable automatic updating of metadata, and I need it to load my ZuneHD) it rewrites the TXXX frames and screws up the data. What happens is that the TXXX tag title overwrites the data-- what I end up with is a frame like this:
TXXX:MUSICBRAINZ ALBUM STATUS = usicBrai
Where the original data ("official") has been overwritten with the equivalent characters in the TXXX title starting at the second letter. I assume this is some kind of Unicode shenanigans, were the NULLs in the unicode rendering of the title are getting confused with the termination of the title-- but how do I prevent this from happening? Is there some alternate encoding I can use? ID3v2.4 has even worse problems, and I just want all my programs and devices to play nicely together.