Test results
Windows UTF-8 Request Body: curl and PowerShell: test results
Tested 2026-10-25, skill version 1.0.0 at the time of loading this page. We run every skill on a strong and a weak model before it is listed, and publish both verdicts, including where the weak one fails.
Verdicts
- Date
- 2026-10-25
- Strong · claude-sonnet-5-5 (Claude Code alias "sonnet")
- Right on all 13 requests, read by hand. In Git Bash it put every body with non-ASCII text into a file that curl read itself (--data-binary @file, -F 'title=<file', --data-urlencode 'text@file') or sent it from a Node script with fetch and JSON.stringify. In Windows PowerShell 5.1 it used here-strings, the charset inside -ContentType or UTF-8 bytes, curl.exe instead of the alias, and had the scheduled .ps1 saved as UTF-8 with a BOM. It gave the code page as the cause in all three diagnoses. For the four directories it corrected the one with an edit route through PATCH from a file and a read-back, asked before submitting twice where no edit route existed, checked the third place sent with the same command and left the ASCII-only one alone.
- Weak · claude-haiku-5-5 (Claude Code alias "haiku")
- Right on all 13 requests by the same checks, read by hand. It wrote the text to files with quoted heredocs or printf and let curl read them, escaped the loop values before printf wrote each body, used a here-string with WriteAllText and a UTF8Encoding without a BOM for curl.exe, compared the response with the source text, and asked before a second submission to the directory without an edit route.
With and without the skill
Tested 2026-10-25.
| Sonnet | Haiku | |||
|---|---|---|---|---|
| with | without | with | without | |
| Requests handled right (13 requests) | 13/13 | 9/13 | 13/13 | 8/13 |
Same request on both sides, scored with the same checks. Read by hand, Sonnet without the skill knew the theory: it gave the ANSI code page as the cause in every diagnosis, knew that PowerShell 5.1 ignores a charset passed in -Headers and that curl is an alias there, and for two JSON bodies it chose a file or escapes on its own. Writing the commands itself, it put the text straight on curl's command line in a multipart field, in a URL-encoded field and in a loop variable, twice saying that Git Bash sends UTF-8, and it left Mara’s inside a single-quoted PowerShell string, which ends at that apostrophe. Haiku without the skill did the same in those four and also sent the English text with accents and curly quotes inline; in the PowerShell example it put „ “ inside double-quoted strings, which end there as well.
Same cases and the same checks with and without the skill. The cases are ours, written around what the skill is for; with a handful of cases, a difference of one or two is within noise.
Note
Thirteen requests written by us, in the words a person would use, with no mention of encoding: five for Git Bash (a JSON listing, an English text with accents and curly quotes, a multipart upload, a loop over a UTF-8 file, a URL-encoded form), four for Windows PowerShell 5.1 (Invoke-RestMethod, a curl example from API docs, a body file sent with curl.exe, a .ps1 run by Task Scheduler), three diagnoses from what a public page showed, and one repair after a broken submission to four directories. Scored by code: no non-ASCII text and no variable in a curl data argument, no PowerShell curl alias, no -ContentType without a charset unless bytes or a file are sent, no Set-Content, Out-File, redirect or BOM writer for a body, no JSON string handed to curl.exe, no typographic apostrophe inside a single-quoted PowerShell string and no typographic double quote inside a double-quoted one; a path that reads the text from a file, a script or bytes; the text kept exactly or written as escapes. Every behaviour behind these checks was measured on 25 October 2026 on one Windows 11 machine against a local server that records the raw bytes (Git for Windows curl 8.19, System32 curl 8.21, Windows PowerShell 5.1, Node 24); PowerShell 7 was not measured. One check was widened after the run, for both sides: writing the .ps1 itself with -Encoding UTF8 is allowed, because a BOM is what such a script needs. One run per model and request.
What was not measured
- Models other than the two named above were not run.
- Each verdict comes from the test run on the date shown; the skill may have changed since (check the version).
- Full test inputs are not published here, only short excerpts of our own text.
- Results on your own texts, languages and domains can differ.
Back to Windows UTF-8 Request Body: curl and PowerShell · Card (JSON)