I use libflac in EasyTAG to read and write FLAC metadata. I came across some code in EasyTAG which sets the locale to "C" before writing tags, to avoid a problem when case-insensitively matching tag fields. If the user's locale is (for example) Turkish, the dotted lower-case i 'i' is transformed to the dotted upper-case i 'İ', rather than the expected dotless upper-case i 'I'. This causes problems for tag names with 'i' characters in the Turkish locale, and maybe there are other examples too. I have attached a test case to make this a bit more obvious.
It be nice if FLAC__metadata_object_vorbiscomment_entry_matches() used a locale-insensitive equivalent of strncasecmp() so that I do not have to worry about this in application code.