PowerShell decoded other programs' output in the console's legacy code page, and Windows PowerShell read BOM-less files as ANSI, while opencode reads the shell's output as UTF-8. Captured values held the wrong characters even when echoing them looked right.