diff --git a/jellyfin_kodi/helper/api.py b/jellyfin_kodi/helper/api.py
index 5ec3736c..eba1f130 100644
--- a/jellyfin_kodi/helper/api.py
+++ b/jellyfin_kodi/helper/api.py
@@ -6,6 +6,7 @@ from __future__ import division, absolute_import, print_function, unicode_litera
 from . import settings, LazyLogger
 from .utils import translate_path
 import json
+import urllib.parse
 
 ##################################################################################################
 
@@ -245,7 +246,23 @@ class API(object):
         for local_path in self.path_data.keys():
             if local_path in path:
                 path = path.replace(local_path, self.path_data[local_path])
-
+        # URL standardization
+        if (
+            "davs://" in path.lower()
+            or "dav://" in path.lower()
+            or "http://" in path.lower()
+            or "https://" in path.lower()
+        ):
+            protocol, rest = path.split("://", 1)
+            ends_with_slash = rest.endswith("/")  # 记录是否以/结尾
+            if "/" in rest:
+                host, path_part = rest.split("/", 1)
+                path_part = "/".join(
+                    urllib.parse.quote(segment) for segment in path_part.split("/")
+                )
+                path = f"{protocol}://{host}/{path_part}"
+                if ends_with_slash and not path.endswith("/"):
+                    path += "/"
         return path
 
     def get_user_artwork(self, user_id):