There are a frightening number of systems that don’t allow “-”, which isn’t even an edge case. A lot of people - mostly women - hyphenate their last names on marriage, rather than throw their old name away. My wife did. She legally changed her name when she came of age, and when we met and married years later she said, “I paid for money for my name; I’m not letting it go.” (Note: I wasn’t pressuring her to take my name.) So she hyphenated it, and has come to regret the decision. She says she should have switched, or not, but the hyphen causes problems everywhere. It’s not a legal character in a lot of systems, including some government systems.
Then the first part is interpreted (in the US, anyway) as a middle name, not as part of the last name. I did run into a recently married woman who did that: dropped her middle name, moved her last to the middle, and used her spouse’s last name.
More commonly, places that don’t take hyphens tend to just run the two names together: Axel-Smith becomes AxelSmith.
Programmers can be really dumb.