I found the solution here. It seems this issue was resolved in .net 6, and the other below versions have this issue.
StringComparison not working in Linux (Kubernates) environment
Hi Team,
The following comparison gets different results in windows env and Linux env.
string sb = "EÖALE";
string ss = "EöALE";
CultureInfo`.CurrentCulture = CultureInfo.GetCultureInfo("en-US");
StringComparer sc1 = StringComparer.Create(CultureInfo.CurrentCulture, CompareOptions.IgnoreNonSpace);
log($"Compare :{sc1.Compare(sb, ss)} \n");// OutPut 108
string s1 = "EÖALE";
string s2 = "EöALE";
bool currentCultureIgnoreCaseEquality = string.Equals(s1, s2, StringComparison.CurrentCultureIgnoreCase);
//OutPut false in linux
bool equality = string.Equals(s1, s2); //OutPut false in linux
bool ordinalIgnoreCaseEquality = string.Equals(s1, s2, StringComparison.OrdinalIgnoreCase);//OutPut false in linux
bool InvariantCultureIgnore = string.Equals(s1, s2, StringComparison.InvariantCultureIgnoreCase);//OutPut false in linux
How to achieve to get true this comparison in Linux environment
I am using Dotnet core
Thanks in Advance