You don't need to escape any content for storing in a DB field.
Use the correct database interface and you're good.
I'd be more concerned about intention and intentional design. Arbitrary characters can be misleading or problematic for users. Using an allow list for accepted username characters is a good approach if you can't depend on good intentions of users.