When reading id3v2.3 tags the standard tells us to read the TIT2, TPE1, TALB etc as ISO-8859-1 - if nothing else is specified. But I do see a lot of tags where the encoding should be something else. Maybe the tag-editor has used the default charset on the computer it was running - e.g. Chinese. Would it be a good idea to let a tag-parser read unspecified tags with the current running charset, or should one always read the tags as ISO-8859-1?
Most of software violates the specifications and assumes "ISO 8859-1" fields to be system codepage encoded. Of course there are failure cases, such as tags encoded on a system with different settings than the system we're trying to decode them on, but it's somewhat too late to make this stop as people have gigabites of mis-tagged files burnt on optical media.
IMO the least problematic solution is to decode "ISO 8859-1" fields as system codepage and disallow writing those entirely if your app supports writing ID3v2 (write eg. UTF-16 instead).
Thanks for the answer. I'll let my software use the system codepage.
How can WMP and Real Player show these tags correctly when they are encoded in GB2312 and the id3v2 tags says IS0-8859-1 ???
Find screenshots in this post. "JavaTunes" is my program which cannot show the tags correct.
http://www.hydrogenaudio.org/forums/index....showtopic=47879