diff --git a/lib/routes/bilibili/cache.ts b/lib/routes/bilibili/cache.ts index 665d59d38..30ac40754 100644 --- a/lib/routes/bilibili/cache.ts +++ b/lib/routes/bilibili/cache.ts @@ -286,7 +286,7 @@ const getVideoSubtitle = async ( const getVideoSubtitleAttachment = async (bvid: string) => { const subtitles = await getVideoSubtitle(bvid); return subtitles.map((subtitle) => ({ - url: `data:text/plain;charset=utf-8,${subtitle.content}`, + url: `data:text/plain;charset=utf-8,${encodeURIComponent(subtitle.content)}`, mime_type: 'text/srt', title: `字幕 - ${subtitle.lan_doc}`, })); diff --git a/lib/routes/youtube/api/youtubei.ts b/lib/routes/youtube/api/youtubei.ts index 6559c19e9..213c98225 100644 --- a/lib/routes/youtube/api/youtubei.ts +++ b/lib/routes/youtube/api/youtubei.ts @@ -74,7 +74,7 @@ export const getDataByChannelId = async ({ channelId, embed }: { channelId: stri .filter((video) => 'video_id' in video) .map(async (video) => { const srt = await getSubtitlesByVideoId(video.video_id); - const dataUrl = `data:text/plain;charset=utf-8,${srt}`; + const dataUrl = `data:text/plain;charset=utf-8,${encodeURIComponent(srt)}`; const img = 'best_thumbnail' in video ? video.best_thumbnail?.url : 'thumbnails' in video ? video.thumbnails?.[0]?.url : undefined;