+1 for firearm. A knife is primarily a tool, and only used as a weapon in desperation or very special situations. Chemical sprays, as noted, are fickle allies.
I vote for the Lady Smith option or some kind of .38 revolver. Semi automatics are nifty, and you can get them in crazy small sizes... but the reality is that they require a lot more maintenance to keep them working and there's a lot more that can go wrong with them when you pull one out. Revolver is pretty much guaranteed to work provided it hasn't swam in salt water or something equally tragic and obvious. IMHO it's the better option for people who don't really want to make handgun ownership a part of their life, only to have it around laying around in a drawer "just in case". Though I guess the down side, as the shooter gets older, is having the hand strength to steadily pull through a double-action shot or the hand flexibility to [censored] the hammer for single-action. Hm.
(on the other-other hand: history tells us that in the vast majority of cases, simply having and presenting a firearm solves the problem right there)