Found a workaround. It’s not straightforward, but I’m sharing this because the information might help fix the issue.
By reading some online document, I learned the standard for international domain name defines a method for normalizing those domains with non-ascii characters, named “ToASCII”.
For testing purpose, I used the tunycode.js library which provide this function.
https://github.com/bestiejs/punycode.js/blob/master/punycode.min.js
punycode.toASCII(‘café-vie-privée’) => “xn–caf-vie-prive-dhbj”
After generating this normalized version, I was finally able to subscribe the desired ICS calender with ICSDroid:
https:// xn–caf-vie-prive-dhbj . fr /calendar.ics
Update: I was force to add spaces, because bitfire automatically converts normalized ASCII URL back to the unicode URL…