2012-09-08 78 views

回答

5

我發現here快速,簡短的解決方案,在WinRT中工作得很好:

public static string RemoveAccents(this string accentedStr) 
{ 
    byte[] tempBytes = Encoding.GetEncoding("ISO-8859-8").GetBytes(accentedStr); 
    return Encoding.UTF8.GetString(tempBytes, 0, tempBytes.Length); 
} 
+0

看來,這個函數將西里爾符號變成問號。 – Yaroslav

+2

這不是一個正確或明智的解決方案。轉換爲ISO-8859-8然後轉換爲UTF-8不是Unicode規範化。 –

0

在WinRT中,您不會找到任何替代String.Normalize的選項,因爲它可用作Metro風格應用程序可用的.NET Core Profile的一部分。 Docs。如果你使用C++,see this question

+0

我使用C#,所以這不會有太大的幫助。 –