эквивалент strnicmp для UTF-8? - PullRequest
3 голосов
/ 02 июня 2010

Что я могу использовать для сравнения без учета регистра двух подстрок, закодированных в UTF-8? По сути, я ищу strnicmp функцию для UTF-8.

Ответы [ 2 ]

2 голосов
/ 02 июня 2010

Правила преобразования регистра в различных сценариях Unicode чрезвычайно сложны, для этого требуются большие таблицы преобразования регистра. Вы не можете сделать это сами, вам понадобится библиотека. ICU является одним из них.

1 голос
/ 02 июня 2010

strcoll должен быть осведомлен о локали и правильно обрабатывать UTF8, по крайней мере, если это кодировка локали по умолчанию. Если это не так, я до сих пор понятия не имею. Как обходной путь, вы можете преобразовать многобайтовую строку в wchars (mbrtowc), а затем использовать wcscasecmp, который, к сожалению, является расширением GNU, а не частью стандартных библиотек ... Возможно, это не очень полезно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...