I have always had good results by using Simple Solution by Outright. Soak the area, blot, and allow to dry. It takes a while for all of the odor to disappear, but it does remove both stains and odors.

I use a lot of it for the kitty that can't hold her poop. (medical problem)