I've used those "car bomb" type fresheners like the Meguiars and Turtle Wax ones linked above. In my experience, they do jack shit to actually eliminate an odor, but a good job to just temporarily cover up the smell. When the effect wears off in 2 - 4 weeks, the smell will be back.
The only ones I've found effective at actually
removing an odor, are the chlorine based ones. I used the
Star Brite NosGuard ones before with good success. Keep in mind though, these won't make your car smell
good, it's going to smell like a pool for a couple of days. It is chlorine based after all. So when that smell fades a little, I'd follow up with your air freshener scent of choice