Хорошее, легкое, библиотека, которой я пользуюсь успешно, utf8proc.
UTF-8 особенно разработан так, чтобы много байтовых строковых функций продолжили работать или только нуждаться в незначительных модификациях.
C strstr
функция, например, будет работать отлично, пока оба ее исходных данных являются допустимыми, завершенными пустым указателем строками UTF-8. strcpy
хорошо работает, пока его входная строка запускается на символьной границе (например, возвращаемое значение strstr
).
, Таким образом, Вам даже, возможно, не понадобится отдельная библиотека!