Hi,
madplay currently always converts the id3 tag information to latin1. The attached patch converts it to the currently codeset based on nl_langinfo(CODESET).
It seems the configure script already checks for nl_langinfo and iconv with the automake macro's, so I didn't have to patch configure for this.
Maybe those function belong in libid3tag instead, it would be more logical. It would also not require us to use non-exported functions. The reason I just put it in madplay is that this only require me to change one source package.
There is one problem with this patch that I know of, and that is that it doesn't properly deal with (argualby broken) iconv() implementations saying the input sequence is invalid when it can't map a valid input character to the output encoding, and I'm not sure how to deal with it, see the comment.
Kurt