I like to rawurlencode filenames. Safe on any filesystem and trivially decodable.