Кто-нибудь может объяснить, почему следующие сравнения не равны?
void CompareTest()
{
UErrorCode status = U_ZERO_ERROR;
UChar ruleset[500]; *ruleset = 0;
int32_t rlen = 0;
UCollator *coll = ucol_open("de_DE", &status);
static const UChar rules[] = L"&\\u0000 = '' = '-'";
int32_t len=(int32_t)u_strlen(rules);
const UChar *defRules = ucol_getRules(coll, &rlen);
if(rlen > 0)
{
u_strcpy(ruleset, defRules);
}
u_strcat(ruleset, rules);
status = U_ZERO_ERROR;
UCollator *collRule = ucol_openRules(ruleset, u_strlen(ruleset), UCOL_OFF, UCOL_DEFAULT_STRENGTH,NULL, &status);
ucol_setAttribute(collRule, UCOL_NORMALIZATION_MODE, UCOL_ON, &status);
ucol_setAttribute(collRule, UCOL_STRENGTH, UCOL_QUATERNARY, &status);
UCollationResult uResult = ucol_strcoll(collRule, L"post-war", -1, L"post war", -1);
uResult = ucol_strcoll(collRule, L"post-war", -1, L"postwar", -1);
uResult = ucol_strcoll(collRule, L"ÄÖÜ", -1, L"äöü", -1);
uResult = ucol_strcoll(collRule, L"ß", -1, L"ss", -1);
}