如何修复C#中String.ToUpper()的奇怪转换

时间:2011-02-01 04:38:55

标签: .net asp.net

我试图以大写字母显示类似“contáctenos”的东西,但是当我使用string.toUpper()方法时,我得到奇怪的结果“CONTáCTENOS”而不是“CONTÁCTENOS”。

页面“文化”也正确设置为“es-ES”和“uiculture”。 如果可能的话,如何在不使用正则表达式或替换的情况下获得正确的结果。

提前致谢...

2 个答案:

答案 0 :(得分:3)

使用:

.ToUpper(new CultureInfo("es-ES", false));

参考: http://msdn.microsoft.com/en-us/library/24kc78ka.aspx

答案 1 :(得分:2)

string.ToUpper()函数使用CultureInfo.CurrentCulture,而不是页面的特定文化或CurrentUICulture。您可以将网页的CultureInfo传递到ToUpper函数中,这样可以正确转换字符串。