Is it safe to convert emails with other characters than a-Z to lower case?

Any modern email service provider treats emails as case insensitive meaning that in my application I should allows users to log in both using [email protected] and [email protected].

In terms of the characters a-Z this is easy to implement as I can just always convert the input to lower case.

However, if a user’s email contains other characters like the german ß which converts to SS in uppercase (which would convert back to ss in lowercase), or other international characters which may have special rules for how they convert between lower and upper case, then do I now run the risk of users not being able to log in if they type the email in a different “case” than the one they originally signed up with?

Would it be better to use toLocaleLowerCase() in my scenario then? Or should I only convert the a-Z characters and leave the others in the case they were provided in? Or what should I do in this scenario?

My current implementation is simply (pseudocode):

// when storing the email on my DB
db.user.save({ email: inputEmail.toLowerCase(), ... })

// when finding the user to authenticate
db.user.find("email", inputEmail.toLowerCase())