This problem is completely unrelated to calibre.
Assuming your distro has the latest version of XFCE in their repos, you'll need to file a bug report for XFCE upstream, to get them to fix their dedicated file opener (exo-open) so it accepts urlencoded file:/// links.
(calibre uses Qt's native functions for opening files, which simply pass urlencoded file:/// urls to xdg-open -- this is basic UI toolkit file management at its finest.

)
AFAIK this was supposed to be fixed
here and
here, so unless they had
another regression, this is your distro's fault for being out-of-date.
(And a thread on MobileRead,
here.)