Issue Summary
- Explain roughly what’s wrong
- What did you expect to happen?
Steps to Reproduce
- This is the first step…
- This is the second step, etc.
Setup information
Ghost Version
6.4.0
Node.js Version
v24.10.0
How did you install Ghost?
Docker in my M2 MacBook
Provide details of your host & operating system
MacOS 26.0.1(25A362)
Database type
SQLite 3
Browser & OS version
safari, chrome
Relevant log / error output
Problem Description:
After migrating from WordPress to Ghost, featured images with Korean characters in their filenames were not displaying on a Ghost blog (running in a Docker container environment). Images embedded directly in the post body (HTML content) were displaying correctly.
### Symptoms:
* Featured images with Korean filenames were not visible on the homepage or individual post pages.
* Direct access to the raw image URL (e.g., `https://ilikeafrica.com/content/images/wordpress/2025/08/스크린샷-2025-08-03-오후-6.42.01.png\`) worked correctly in the browser.
* The Ghost Admin API showed the `feature_image` URL correctly stored with HTTPS and URL-encoded Korean characters, and without the `/size/wXXX/` part.
### Root Cause (Identified):
The issue was traced to Ghost’s internal image resizing/processing functionality. When the Ghost theme used the `{{img_url feature_image size=“xxx”}}` helper to generate a resized version of the featured image, this process failed for images with URL-encoded Korean characters in their filenames. This caused the image to not be displayed. Images in the post body, which are typically served directly by Ghost without resizing, were unaffected.
### Resolution (Workaround):
To resolve the issue, the Ghost theme files (`partials/post-image.hbs` and `partials/loop.hbs` in the `ruby` theme) were modified to bypass Ghost’s image resizing helper for featured images.
Specifically, all instances of `{{img_url feature_image size=“xxx”}}` were replaced with `{{feature_image}}`. This forces Ghost to use the raw, original `feature_image` URL directly from the database, thus avoiding the problematic resizing process.
### Steps to Reproduce (Hypothetical):
1. Set up a Ghost blog (e.g., in Docker).
2. Upload an image with a Korean filename (e.g., `스크린샷.png`).
3. Set this image as the featured image for a post.
4. Ensure the theme uses `{{img_url feature_image size=“xxx”}}` helper to render featured images.
5. Observe that the featured image does not display.