Don't use UTF-8 for ID3 v2.3 or older

Support for UTF-8 is not mentioned in specification
for ID3v2.3 (only in ID3v2.4).

http://id3.org/id3v2.3.0#Text_information_frames
http://id3.org/id3v2.4.0-structure
This commit is contained in:
Martchus 2016-11-12 16:24:37 +01:00
parent 66e12abdc2
commit f39d8abcd4
1 changed files with 2 additions and 2 deletions

View File

@ -120,12 +120,12 @@ inline const char *Id3v2Tag::typeName() const
inline TagTextEncoding Id3v2Tag::proposedTextEncoding() const
{
return TagTextEncoding::Utf8;
return m_majorVersion > 3 ? TagTextEncoding::Utf8 : TagTextEncoding::Utf16LittleEndian;
}
inline bool Id3v2Tag::canEncodingBeUsed(TagTextEncoding encoding) const
{
return encoding == TagTextEncoding::Latin1 || encoding == TagTextEncoding::Utf8 || encoding == TagTextEncoding::Utf16BigEndian;
return encoding == TagTextEncoding::Latin1 || (encoding == TagTextEncoding::Utf8 && m_majorVersion > 3) || encoding == TagTextEncoding::Utf16BigEndian || encoding == TagTextEncoding::Utf16LittleEndian;
}
inline bool Id3v2Tag::supportsDescription(KnownField field) const