{"id":13335,"date":"2024-03-15T06:51:42","date_gmt":"2024-03-15T06:51:42","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-to-resolve-garbled-characters-when-downloading-files-in-spring-boot\/"},"modified":"2025-08-05T16:42:26","modified_gmt":"2025-08-05T16:42:26","slug":"how-to-resolve-garbled-characters-when-downloading-files-in-spring-boot","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-to-resolve-garbled-characters-when-downloading-files-in-spring-boot\/","title":{"rendered":"Fix Garbled Characters in Spring Boot Downloads"},"content":{"rendered":"<p>If there is garbled text when downloading files using Spring Boot, it may be caused by encoding issues with the file names. You can try the following methods to resolve the issue:<\/p>\n<ol>\n<li>Disposition of content<\/li>\n<li>HTTP headers<\/li>\n<li>Arrangement of content<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-type\">String<\/span> <span class=\"hljs-variable\">encodedFileName<\/span> <span class=\"hljs-operator\">=<\/span> URLEncoder.encode(fileName, <span class=\"hljs-string\">\"UTF-8\"<\/span>).replaceAll(<span class=\"hljs-string\">\"\\\\+\"<\/span>, <span class=\"hljs-string\">\"%20\"<\/span>);\r\nheaders.add(<span class=\"hljs-string\">\"Content-Disposition\"<\/span>, <span class=\"hljs-string\">\"attachment; filename=\\\"\"<\/span> + encodedFileName + <span class=\"hljs-string\">\"\\\"\"<\/span>);\r\n<\/code><\/pre>\n<ol>\n<li>Type of content<\/li>\n<li>This refers to a file that is downloaded or transferred as a binary stream.<\/li>\n<li>UTF-8 character encoding is used for representing text in various languages and scripts.<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code>headers.add(<span class=\"hljs-string\">\"Content-Type\"<\/span>, <span class=\"hljs-string\">\"application\/octet-stream; charset=UTF-8\"<\/span>);\r\n<\/code><\/pre>\n<ol>\n<li>If the content of the file itself may also contain garbled characters, you can specify the character encoding in the file stream.<\/li>\n<\/ol>\n<pre class=\"post-pre\"><code><span class=\"hljs-type\">InputStream<\/span> <span class=\"hljs-variable\">inputStream<\/span> <span class=\"hljs-operator\">=<\/span> <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">FileInputStream<\/span>(file);\r\n<span class=\"hljs-type\">BufferedReader<\/span> <span class=\"hljs-variable\">reader<\/span> <span class=\"hljs-operator\">=<\/span> <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">BufferedReader<\/span>(<span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">InputStreamReader<\/span>(inputStream, <span class=\"hljs-string\">\"UTF-8\"<\/span>));\r\n<\/code><\/pre>\n<p>By using these methods, we can ensure that the encoding of both the file name and file content is correct, thereby preventing garbled text issues.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>If there is garbled text when downloading files using Spring Boot, it may be caused by encoding issues with the file names. You can try the following methods to resolve the issue: Disposition of content HTTP headers Arrangement of content String encodedFileName = URLEncoder.encode(fileName, &#8220;UTF-8&#8221;).replaceAll(&#8220;\\\\+&#8221;, &#8220;%20&#8221;); headers.add(&#8220;Content-Disposition&#8221;, &#8220;attachment; filename=\\&#8221;&#8221; + encodedFileName + &#8220;\\&#8221;&#8221;); Type of [&hellip;]<\/p>\n","protected":false},"author":9,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[589,2892,1958,2522,2618],"class_list":["post-13335","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-character-encoding","tag-file-download","tag-http-headers","tag-spring-boot","tag-utf-8"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Fix Garbled Characters in Spring Boot Downloads - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"Learn how to fix garbled characters when downloading files in Spring Boot with proper UTF-8 encoding for file names.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/how-to-resolve-garbled-characters-when-downloading-files-in-spring-boot\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Fix Garbled Characters in Spring Boot Downloads\" \/>\n<meta property=\"og:description\" content=\"Learn how to fix garbled characters when downloading files in Spring Boot with proper UTF-8 encoding for file names.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-to-resolve-garbled-characters-when-downloading-files-in-spring-boot\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-15T06:51:42+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-05T16:42:26+00:00\" \/>\n<meta name=\"author\" content=\"Ava Mitchell\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ava Mitchell\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-resolve-garbled-characters-when-downloading-files-in-spring-boot\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-resolve-garbled-characters-when-downloading-files-in-spring-boot\/\"},\"author\":{\"name\":\"Ava Mitchell\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/a3e2658c2cb9fb2be95ae0a8861f4a64\"},\"headline\":\"Fix Garbled Characters in Spring Boot Downloads\",\"datePublished\":\"2024-03-15T06:51:42+00:00\",\"dateModified\":\"2025-08-05T16:42:26+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-resolve-garbled-characters-when-downloading-files-in-spring-boot\/\"},\"wordCount\":124,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"keywords\":[\"character encoding\",\"File Download\",\"HTTP headers\",\"Spring Boot\",\"UTF-8\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-resolve-garbled-characters-when-downloading-files-in-spring-boot\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-to-resolve-garbled-characters-when-downloading-files-in-spring-boot\/\",\"name\":\"Fix Garbled Characters in Spring Boot Downloads - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-15T06:51:42+00:00\",\"dateModified\":\"2025-08-05T16:42:26+00:00\",\"description\":\"Learn how to fix garbled characters when downloading files in Spring Boot with proper UTF-8 encoding for file names.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-resolve-garbled-characters-when-downloading-files-in-spring-boot\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-to-resolve-garbled-characters-when-downloading-files-in-spring-boot\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-resolve-garbled-characters-when-downloading-files-in-spring-boot\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Fix Garbled Characters in Spring Boot Downloads\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/a3e2658c2cb9fb2be95ae0a8861f4a64\",\"name\":\"Ava Mitchell\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/15c63cd0564b4a2e07d611bcdffa296f6ea80e8db07c3091f43a84010514899d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/15c63cd0564b4a2e07d611bcdffa296f6ea80e8db07c3091f43a84010514899d?s=96&d=mm&r=g\",\"caption\":\"Ava Mitchell\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/avamitchell\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Fix Garbled Characters in Spring Boot Downloads - Blog - Silicon Cloud","description":"Learn how to fix garbled characters when downloading files in Spring Boot with proper UTF-8 encoding for file names.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/blog\/how-to-resolve-garbled-characters-when-downloading-files-in-spring-boot\/","og_locale":"en_US","og_type":"article","og_title":"Fix Garbled Characters in Spring Boot Downloads","og_description":"Learn how to fix garbled characters when downloading files in Spring Boot with proper UTF-8 encoding for file names.","og_url":"https:\/\/www.silicloud.com\/blog\/how-to-resolve-garbled-characters-when-downloading-files-in-spring-boot\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-15T06:51:42+00:00","article_modified_time":"2025-08-05T16:42:26+00:00","author":"Ava Mitchell","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Ava Mitchell","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-to-resolve-garbled-characters-when-downloading-files-in-spring-boot\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-resolve-garbled-characters-when-downloading-files-in-spring-boot\/"},"author":{"name":"Ava Mitchell","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/a3e2658c2cb9fb2be95ae0a8861f4a64"},"headline":"Fix Garbled Characters in Spring Boot Downloads","datePublished":"2024-03-15T06:51:42+00:00","dateModified":"2025-08-05T16:42:26+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-resolve-garbled-characters-when-downloading-files-in-spring-boot\/"},"wordCount":124,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"keywords":["character encoding","File Download","HTTP headers","Spring Boot","UTF-8"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-to-resolve-garbled-characters-when-downloading-files-in-spring-boot\/","url":"https:\/\/www.silicloud.com\/blog\/how-to-resolve-garbled-characters-when-downloading-files-in-spring-boot\/","name":"Fix Garbled Characters in Spring Boot Downloads - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-15T06:51:42+00:00","dateModified":"2025-08-05T16:42:26+00:00","description":"Learn how to fix garbled characters when downloading files in Spring Boot with proper UTF-8 encoding for file names.","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-resolve-garbled-characters-when-downloading-files-in-spring-boot\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-to-resolve-garbled-characters-when-downloading-files-in-spring-boot\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-to-resolve-garbled-characters-when-downloading-files-in-spring-boot\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Fix Garbled Characters in Spring Boot Downloads"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/a3e2658c2cb9fb2be95ae0a8861f4a64","name":"Ava Mitchell","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/15c63cd0564b4a2e07d611bcdffa296f6ea80e8db07c3091f43a84010514899d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/15c63cd0564b4a2e07d611bcdffa296f6ea80e8db07c3091f43a84010514899d?s=96&d=mm&r=g","caption":"Ava Mitchell"},"url":"https:\/\/www.silicloud.com\/blog\/author\/avamitchell\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/13335","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=13335"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/13335\/revisions"}],"predecessor-version":[{"id":157299,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/13335\/revisions\/157299"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=13335"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=13335"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=13335"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}