Bugzilla – Bug 225
Chains: Exported metadata tags are corrupted if they include Unicode tags
Last modified: 2018-08-20 11:45:35 UTC
Created attachment 39 [details] 情義兩心知.mp3 with Unicode tags which are corrupted by Chain export Also the user who reported this on Win XP SP 3 and Win 7 said that a message box appeared "The specified filename could not be converted due to Unicode character use", though the filename was created correctly.[1] I do not have the file that caused the message to appear at the moment. This bug is not apparently a problem on Ubuntu. There is no problem on Windows if the tags in the file exported from the chain do not contain Unicode. There is no problem on Windows with loss of Unicode tags when using export from the File menu. [1] The message presumably comes from the following code at line 166 of src/Internat.cpp: #if defined(__WXMSW__) // // On Windows, wxString::mb_str() can return a NULL pointer if the // conversion to multi-byte fails. So, based on direction intent, // returns a pointer to an empty string or prompts for a new name. // char *Internat::VerifyFilename(const wxString &s, bool input) { static wxCharBuffer buf; wxString name = s; if (input) { if ((char *) (const char *)name.mb_str() == NULL) { name = wxEmptyString; } } else { wxFileName f(name); while ((char *) (const char *)name.mb_str() == NULL) { wxMessageBox(_("The specified filename could not be converted due to Unicode character use.")); name = FileSelector(_("Specify New Filename:"), NULL, name, f.GetExt(), wxT("*.") + f.GetExt(), wxFD_SAVE | wxRESIZE_BORDER, wxGetTopLevelParent(NULL)); } }
DEVEL-FIX MADE. r10979 removes any writing of ID3V1 tags. ID3V1 tags will still be imported, but they will be written as ID3V2 tags.
I think this is fixed now - tested on Windows and Ubuntu with the file in the attachment. Changing to RESOLVED - FIXED.