ToUpper()有时会改变字符(μ - > M)

sab*_*abi 3 .net c# character

可能重复:
.net micro(μ)希腊字母大写问题

我有一个将所有字符串转换为大写的函数.我只是用string.ToUpper()方法.

嗯,它的工作.但是对于一些角色来说,ToUpper()做的很奇怪.喜欢µ,a µ.ToUpper()是一个M.为什么?我怎么能避免这个?如果有一个大写字符:)只是UpperCase chars?

Ily*_*nov 5

在进行字符串转换时指定文化或使用InvariantCulture.例如:

"µ".ToUpper(CultureInfo.InvariantCulture)
Run Code Online (Sandbox Code Playgroud)

要么

"µ".ToUpperInvariant()
Run Code Online (Sandbox Code Playgroud)

回报 µ


Céd*_*non 5

您可以使用该方法String.ToUpperInvariant().

在该方法中,使用不变培养物.

此方法与调用完全相同 myString.ToUpper(CultureInfo.InvariantCulture);