I find oxyclean works fine, its results are not long lasting like bleach though. Nothing beats a bit of bleach for stripping away, and keeping away, ammonia or any other weird funk- at least on cotton.