While openSUSE Leap 15.3 (and maybe also later 15.x versions) was still based on Qt5, and therefore had no problem supporting file names encoded in iso8859-1 (a.k.a. Latin1) or even other single byte character sets, Leap 16.0 switched to Qt6, which now enforces the use of “UTF-8 everywhere”.
I try to use 7-bit ASCII wherever possible, so I write everything in English, which saves me from all the trouble with character sets. However, since my native language is German, there are occasions where I like/need to name a file or directory with German umlauts (like “München”), and I don’t want to have them encoded in UTF-8. Plain old iso8859-1 is fully sufficient for me. Let’s not even get into the hoops you have to jump through in Perl just to deal with UTF-8.
Thankfully the important functions to convert from Qt’s internal character representation (which is UTF-16) to the underlying file system’s character set (which can be UTF-8, but may as well be iso8859-1 or any other single byte set) are still there, so patching Qt6 is pretty straightforward. Unfortunately Qt6 has apparently removed all but Latin1 character sets, but at least for my purposes this is sufficient.
So I made a relatively small patch to the Qt6 library that allows me to continue working as I have been used to for the past decades. If you’re like me, and you prefer a single-byte character set, you can find it at https://tvdr.de/suse-leap-latin1.