diff --git a/library/think/Url.php b/library/think/Url.php index d6e57037..8e716a5b 100644 --- a/library/think/Url.php +++ b/library/think/Url.php @@ -297,7 +297,7 @@ class Url } foreach ($pattern as $key => $val) { if (isset($vars[$key])) { - $url = str_replace(['[:' . $key . ']', '<' . $key . '?>', ':' . $key . '', '<' . $key . '>'], $vars[$key], $url); + $url = str_replace(['[:' . $key . ']', '<' . $key . '?>', ':' . $key . '', '<' . $key . '>'], urlencode($vars[$key]), $url); unset($vars[$key]); $result = [$url, $domain, $suffix]; } elseif (2 == $val) {