I also reached out to them on Twitter but they directed me to this form. I followed up with them on Twitter with what happened in this screenshot but they are now ignoring me.

  • @dan@upvote.au
    link
    fedilink
    English
    10
    edit-2
    7 months ago

    ‘U’ and ‘u’ are two different symbols. And you have to make such rules for every language a part of your processing logic.

    Unicode has standard rules for case folding, which includes the rules for all languages supported by Unicode. Case-insensitive comparisons in all good programming languages uses this data.

    Note that you can’t simply convert both strings to uppercase or lowercase to compare them, as then you’ll run into the Turkish i problem: https://haacked.com/archive/2012/07/05/turkish-i-problem-and-why-you-should-care.aspx/

    • @rottingleaf@lemmy.zip
      link
      fedilink
      English
      47 months ago

      So good that we all use Unicode now. No CP1251, no ISO single-byte encodings, no Japanese encoding hell.

      • lad
        link
        fedilink
        English
        17 months ago

        Yeah, living in 2123 sure is good

    • @labsin@sh.itjust.works
      link
      fedilink
      English
      17 months ago

      It’s that capitalization is language dependent, which email addresses shouldn’t be as I hope the rules for France shouldn’t be different than for Dutch. For instance é in Dutch is capitalized as E, but in French it is É. The eszett didn’t even have an official capital before 2017

      In most programming languages, case-insensitive string compare without specifying the culture became deprecated. It should imo only be used for fuzzy searching doubles, which you probably will do with ToUpper on all four performance reasons, or maybe some UI validation.