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

时间:2013-02-05 16:41:22

标签: c# .net character

  

可能重复:
  .net micro (µ) greek letter uppercase issue

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

嗯它正在发挥作用。但是对于一些角色来说,ToUpper()做的很奇怪。与µ一样,µ.ToUpper()M。为什么?我怎么能避免这个?如果有一个大写字符,只需要UpperCase字符:)?

3 个答案:

答案 0 :(得分:5)

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

"µ".ToUpper(CultureInfo.InvariantCulture)

"µ".ToUpperInvariant()

返回µ

答案 1 :(得分:5)

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

在这种方法中,使用了不变文化。

此方法与调用myString.ToUpper(CultureInfo.InvariantCulture);

完全相同

答案 2 :(得分:0)

最可能与文化相关的问题,使用String.ToUpper Method (CultureInfo),您可以在其中指定 Invariant 文化。