小编Luc*_*key的帖子

如何在我的 ASP Net Core 5.0 项目中比较“ß”和“ss”?

我有一个带有 MVC 配置的 ASP.Net Core 项目。我使用 ASP.Net Core 版本 5.0\n我的母语是德语,因此我们的数据库也充满了德语单词,例如单词“fu\xc3\x9fball”(这意味着足球或足球,具体取决于您来自哪里) 。

\n

正如您所看到的,这个单词有一个 \xc3\x9f。在德语中,这个“\xc3\x9f”基本上相当于“ss”。因此,如果我有字符串“fu\xc3\x9fball”,如果有人也搜索“fussball”,我希望能够找到它。

\n

我知道 ASP.Net Core 具有良好的本地化和全球化选项,但我似乎无法弄清楚这一点。

\n

考虑以下代码:

\n
var currCulture = CultureInfo.CurrentCulture.Name; // = "de-AT"\n\nvar str1 = "fu\xc3\x9fball";\nstr1.StartsWith("fuss"); //returns false\nstr1.StartsWith("fuss", StringComparison.InvariantCulture); //returns false\nString.Equals("\xc3\x9f", "ss", StringComparison.InvariantCulture); //returns false\n\n
Run Code Online (Sandbox Code Playgroud)\n

由于我使用英语语言的 Windows PC,并且我在另一个 Stackoverflow 问题中读到 CultureInfo 依赖于操作系统,因此我决定将以下内容插入到我的Startup.cs-File 中,正如此 Stackoverflow 问题中所建议的那样

\n
var cultureInfo = new CultureInfo("de-AT"); //de-AT for Austria, i tried with de-DE too for germany, but the result was the same\ncultureInfo.NumberFormat.CurrencySymbol = "\xe2\x82\xac";\n\nCultureInfo.DefaultThreadCurrentCulture = …
Run Code Online (Sandbox Code Playgroud)

c# asp.net string-comparison asp.net-core-localization

6
推荐指数
1
解决办法
694
查看次数