If you really want to get rid of odors and not cover them up, do this:
Take out your carpet and padding.
Remove the padding from the carpet where glued and be careful not to tear it.
Take this chance to hose down and scrub the carpet real good.
Go to an upholstery / fabric shop and buy new padding. (Trust me, this does not cost much, maybe $20)
Use the old padding as a template and cut the new padding to fit.
Use 3M fabric spray adhesive to glue the new padding to the carpet.
Leave assembly out long enough for the glue to dry.
Install and leave car in garage with windows open for a couple of days to releve the adhesive smell.
You will thank me later,
Seriously, I had a Cavalier that had a musty odor that I could not get out. This was due to the heater core leaking. I steam cleaned the carpet who knows how many times, used Febreeze, fabric softner sheet, and the smell always slightly came back. After replacing the padding my car had no smells at all. In fact, it smelled so good that I would sometimes just sit in my old beater in amazement. Hope this helps.