Hey, thanks for the report. This is a known issue. On Windows, when passing data to hooks via stdin, Cursor doesn’t handle UTF-8 correctly, so non-ASCII characters get replaced with question marks.
A similar bug report is here: Windows: Cursor Hooks corrupt Chinese (UTF-8) characters in stdin - replaced with question marks
The team is already working on a fix. There’s a possible workaround. Enable “Beta: Use Unicode UTF-8 for worldwide language support” in Windows Regional Settings (Control Panel > Region > Administrative tab), then restart Cursor. Based on other reports, this may not fully fix the issue in every case.
Your detailed example with the JSON output is really helpful. I’ll link this thread to the existing ticket so the team has more examples.