Knives don't make good self-defence weapons, unless you have training and are using combat knives. A safety whistle is meant for emergencies such as being lost in the woods or at sea; not for protecting against physical assault. For that, you probably rather want something like a personal alarm.