Opened 16 years ago

Closed 15 years ago

Last modified 15 years ago

#449 closed patch (invalid)

MythMusic can mangle extended characters

Reported by: mythtv@… Owned by: Isaac Richards
Priority: minor Milestone: unknown
Component: mythmusic Version: 0.18.1
Severity: medium Keywords:
Cc: Ticket locked: no


My music collection includes works by Frédéric Chopin as well as the musical Les Misérables. The file names include the accented e (é). When I tried to play these works, I got "Unable to open file. Error 5".

Investigating found that the filenames had been mangled in MySQL. Fixing the database entries did not make it work. Thus, there are really two problems: filenames can be mangled before going into the database and filenames are mangled upon query.

To fix this, I changed all of the filename conversions to use ASCII instead of Unicode. This fixed my problem, but I have not extensively tested it to determine whether it causes other problems. Will attach patch.

Attachments (1)

mythmusic.patch (3.0 KB) - added by mythtv@… 16 years ago.
Patch to change filename conversions to ASCII from UTF8.

Download all attachments as: .zip

Change History (3)

Changed 16 years ago by mythtv@…

Attachment: mythmusic.patch added

Patch to change filename conversions to ASCII from UTF8.

comment:1 Changed 15 years ago by danielk

Milestone: unknown
Resolution: invalid
Severity: highmedium
Status: newclosed
Version: head

The DB entries should be in UTF8, then you can convert from that to ascii before accessing the file system. The messed up DB entries you saw were probably the UTF8 escape codes for the character you wanted. QString has facilities to translate from your locale to UTF8 and from UTF8 to your locale.

I'm marking this as invalid until the patch is fixed.

comment:2 Changed 15 years ago by mythtv@…

Version: head0.18.1

I cannot reproduce with current version. I had the problem when running 0.18.1, but have since moved to head.

Lacking a 0.18.1 box, I do not forsee fixing the patch as danielk describes.

Note: See TracTickets for help on using tickets.