safe() also replaces '%' with '_'