可能重复:
.net micro (µ) 希腊字母大写问题
我有一个将所有字符串转换为大写的函数。我只是使用string.ToUpper()
方法。
嗯,它正在工作。但是对于某些角色来说,ToUpper() 正在做一些奇怪的事情。就像 for 一样µ
,aµ.ToUpper()
是一个M
。为什么?我怎样才能避免这种情况?如果有大写字符,则只是大写字符:)?
可能重复:
.net micro (µ) 希腊字母大写问题
我有一个将所有字符串转换为大写的函数。我只是使用string.ToUpper()
方法。
嗯,它正在工作。但是对于某些角色来说,ToUpper() 正在做一些奇怪的事情。就像 for 一样µ
,aµ.ToUpper()
是一个M
。为什么?我怎样才能避免这种情况?如果有大写字符,则只是大写字符:)?
在进行字符串转换时指定区域性或使用InvariantCulture 。例如:
"µ".ToUpper(CultureInfo.InvariantCulture)
或者
"µ".ToUpperInvariant()
返回µ
你可以使用方法String.ToUpperInvariant()
。
在这种方法中,使用了不变的区域性。
这个方法和调用完全一样myString.ToUpper(CultureInfo.InvariantCulture);
这很可能是与文化相关的问题,使用String.ToUpper Method (CultureInfo),您可以在其中指定不变文化。