This is because id3tag_set_textinfo_utf16 is called directly when adding unicode tags.
Solution will be:
a) handle in frontend
b) handle (silently) in id3tag_set_textinfo_utf16 for TCON frame
c) add id3tag_set_genre equivalent for unicode
For solution c), the attached patch will do.
Thanks for reporting this issue, Talhei Monma!
Actually, the auto correction feature was missing in the unicode case too.
A fix will soon be available.
Now it works but v2.3 tag is not added when only --tg is specified.
in id3tag_set_genre_utf16:
gfc->tag_spec.flags |= CHANGED_FLAG;
should be
gfc->tag_spec.flags |= (CHANGED_FLAG | ADD_V2_FLAG);
to fix this issue.
That's not a bug, the --tg switch triggers an id3v2 tag only, if the user adds some genre, which isn't one of the common genres.
Hm, but --tg along with the --id3v2-latin1 switch (and lame prior to 3.99) always adds v2.3 tag.
OK, sorry for my misunderstanding. --add-id3v2 or --id3v2-{latin1|utf16} is a trigger for v2.3 tag.
Closing.