我有一个ASP.NET核心应用程序,我刚刚从2. 2升级到3. 1,作为努力获得最新版本的一部分。
一切都运行正常,除了我的数字现在的格式不同。
我现在看到的不是在货币前面显示“$”,而是“ä”(还有许多其他的变化,如字符串比较等)。
我的文化似乎已从English (United States, Computer)
更改为``。
默认的文化是从哪里来的?我已经搜索了很多,有很多关于如何在代码中设置文化的主题,等等。这不是我要找的。
我想知道当你没有明确设置一个文化时.Net是如何确定它的,因为它是应用程序以前运行的方式。更重要的是,需要做什么调整才能将文化恢复到它以前的工作方式,而不必在代码中明确设置它。
以下是locale
的值
$ locale
LANG=C.UTF-8
LANGUAGE=
LC_CTYPE="C.UTF-8"
LC_NUMERIC="C.UTF-8"
LC_TIME="C.UTF-8"
LC_COLLATE="C.UTF-8"
LC_MONETARY="C.UTF-8"
LC_MESSAGES="C.UTF-8"
LC_PAPER="C.UTF-8"
LC_NAME="C.UTF-8"
LC_ADDRESS="C.UTF-8"
LC_TELEPHONE="C.UTF-8"
LC_MEASUREMENT="C.UTF-8"
LC_IDENTIFICATION="C.UTF-8"
LC_ALL=
如果我运行一个简单的.Net程序打印出文化等。
static void Main(string[] args) {
Console.WriteLine($"CurrentCulture = {CultureInfo.CurrentCulture.Name}");
Console.WriteLine($"CurrentUICulture = {CultureInfo.CurrentUICulture.Name}");
Console.WriteLine($"{RegionInfo.CurrentRegion}");
}
......这就是我得到的
CurrentCulture =
CurrentUICulture =
IV
1条答案
按热度按时间u5rb5r591#
系统上似乎没有设置区域设置。您可以查看博客并设置区域设置。
Configure Locales in Ubuntu
相关问题
asp.net core linux - CultureInfo get country code