Merge "ui: Fixed the problem that special file names cannot be opened by the UI." into main
diff --git a/ui/src/common/cache_manager.ts b/ui/src/common/cache_manager.ts
index 5890a16..b22ee05 100644
--- a/ui/src/common/cache_manager.ts
+++ b/ui/src/common/cache_manager.ts
@@ -112,7 +112,7 @@
   }
 
   const headers = new Headers([
-    ['x-trace-title', title],
+    ['x-trace-title', encodeURI(title)],
     ['x-trace-url', url],
     ['x-trace-filename', fileName],
     ['x-trace-local-only', `${localOnly}`],
@@ -140,7 +140,7 @@
   return {
     type: 'ARRAY_BUFFER',
     buffer: await response.arrayBuffer(),
-    title: response.headers.get('x-trace-title') || '',
+    title: decodeURI(response.headers.get('x-trace-title') || ''),
     fileName: response.headers.get('x-trace-filename') || undefined,
     url: response.headers.get('x-trace-url') || undefined,
     uuid: traceUuid,