œ works fine with mb_strlen(). What might have been tripping you up is combining character sequences:
Handling those "correctly" with a string length function gets complicated in any language, as there isn't a 1-to-1 mapping between Unicode codepoints and visible glyphs.