When requesting products from shopify usnig http requests, anything amount under 54 products requested returns chinese characters instead of greek. Anything 54 and over returns greek correctly.
Here’s what’s going on in your n8n issue (“I am losing my sanity”) and how you can fix it:
What’s the problem?
You’re making HTTP requests to Shopify inside n8n and sometimes the product titles come back as Chinese-looking gibberish, instead of Greek. This happens when the number of products requested is less than 54 — but when you request 54 or more products, the Greek text returns normally. (n8n Community)
Example outputs:
Products Requested
Result
2
危蔚蟿 74 蟽蠁蟻… (garbled)
54
`“Σετ 74 σφραγίδες…” (proper Greek)
This clearly points to a character encoding issue rather than a Shopify bug.
Likely Root Cause: Encoding/charset handling in HTTP Request
When Shopify returns text it normally uses UTF-8 encoding. However n8n’s HTTP Request node might be mis-interpreting the response’s character set in some cases — especially if:
the response does not explicitly include a Content-Type: charset=utf-8 header
the HTTP request node isn’t configured to force UTF-8 decoding
the payload is being read as binary or default system encoding
This can happen on smaller responses where Shopify might use slightly different headers. The weird characters you’re seeing are almost certainly UTF-8 being misread as another encoding.
How to Fix / Workaround
1. Force UTF-8 parsing
In your HTTP Request node:
Set Response Format → String
Add header:
Accept-Charset: utf-8
If you have control over headers, also add:
Content-Type: application/json; charset=utf-8
This explicitly tells n8n to parse the response as UTF-8.
2. Try reading raw binary and converting manually
Instead of interpreting it as JSON/text immediately, you can do:
This ensures the text is decoded as UTF-8 manually.
3. Check Shopify API pagination
If you’re requesting fewer products via pagination (e.g., cursors), the API might return slightly different content or headers. Make sure both requests use the same Accept headers as in the working larger request.
Extra Tips
Use the latest Shopify GraphQL / REST endpoints — older ones can sometimes omit proper charset headers. If possible, test the same requests using curl and inspect the raw headers — this will confirm whether the charset header is missing. Always set your HTTP Request node to explicitly expect UTF-8 when dealing with Unicode text.
Summary
Your issue is not a bug in Shopify or n8n per se, but almost certainly a charset interpretation problem:
Shopify sends UTF-8 — but the smaller API response sometimes doesn’t include charset info n8n defaults to another encoding when charset is missing You can fix it by forcing UTF-8 parsing either via headers or manual decoding. (n8n Community)
If you want, share the exact HTTP Request node config and response headers you’re seeing and I can tailor the steps specifically to your workflow.
I had the same issue with http request node. Tried many things, sometimes they worked, but only temporary. Today I tried this, it worked:
In the HTTP Request node, at the bottom in the “Options” section, add the option: “Response”. Then select response format: JSON (instead of “Autodetect”).
This fixed the Chinese character issue for me.
Edit: And I deleted the Accept headers, I don’t know if it had any effect but just wanted to add this.