improve util::url_encode()