just a word of advice, never carry a weapon with you unless you're absolutely ready to use it at the drop of a hat. I know people that carry knives but if they actually had to stab another human being probably would hesitate, which in an attack situation is all the time you need to die or have your weapon knocked away.
Pepper spray is a great idea, or a taser, just be sure whatever you get you're comfortable using, and mentally prepared to use to harm another human being.
I'm not usually this serious sounding, but it's just my two cents.