I've had a couple of brews do this, I left them for 3 weeks because the airlock was still bubbling but after I'd taken a hydrometer reading on 3 consecutive days (took 3 readings because I wanted to be sure, normally only take 2) and the reading was the same, I bottled. Luckily I use swing top bottles because when priming the beer was quite lively and would try to fizz over the top but I could get the tops on in time to prevent this. I'm not sure why this can happen to some brews but the brews it has happened to me with taste great, not over carbonated. It might pay to get it into a secondary fermentation vessel just to get it of the trub as 3 weeks is a little long.
Let us know how you get on!
:drink: