Winapi 强制CompareString在第一遍中比较重音字符?

Winapi 强制CompareString在第一遍中比较重音字符?,winapi,internationalization,locale,Winapi,Internationalization,Locale,对于某些语言,首先通过忽略任何重音来比较字符。如果字符串被认为相等,则在第二次传递中对它们进行比较 这导致德国umlauts的排序顺序: 1. u 2. ü First pass: u == u Second pass: u < ü ------ 1. üa 2. uz First pass: u == u, but a < z Second pass: Skipped 可用标志似乎能够完全跳过第二遍,但这只会使问题更加严重。我希望我错过了什么。可能(错误地)使用了与MAK

对于某些语言,首先通过忽略任何重音来比较字符。如果字符串被认为相等,则在第二次传递中对它们进行比较

这导致德国umlauts的排序顺序:

1. u
2. ü
First pass:  u == u 
Second pass: u <  ü
------
1. üa
2. uz
First pass:  u == u, but a < z
Second pass: Skipped
可用标志似乎能够完全跳过第二遍,但这只会使问题更加严重。我希望我错过了什么。可能(错误地)使用了与MAKELCID

一起使用的排序顺序之一,但不清楚您到底在寻找什么。CompareStringOrdinal()为您提供了排序顺序。
1. uz
2. üa