Chinese text copied from terminal is garbled (UTF-8 mojibake)

Where does the bug appear (feature/product)?

Cursor IDE

Describe the Bug

When copying Chinese text from OpenCode on Cursor IDE’s integrated terminal, the clipboard content is corrupted. UTF-8 encoded characters are misinterpreted as Latin-1/CP1252, producing mojibake.
Only happens in the latest version of Cursor IDE.

Steps to Reproduce

  1. Open Cursor’s integrated terminal, launch Opencode.
  2. Run a command that outputs Chinese text, e.g. echo “附录审稿意见修改报告”(report for appendix review opinions)
  3. Select and copy the output in the terminal
  4. Paste into any text editor or back into the terminal
  5. Observe garbled characters 附录审稿意见修改报告

Expected Behavior

Copied text should preserve its original UTF-8 encoding.
P.S.: I am running Opencode on a remote server on Cursor IDE via SSH. The garbled characters only happen on Cursor IDE. Using Powershell works fine.

Screenshots / Screen Recordings

Operating System

Windows 10/11

Version Information

Version: 3.6.21 (system setup)
VS Code Extension API: 1.105.1
Commit: e7a7e93f4d75f8272503ecf33cedbaae10114a10
Date: 2026-05-28T21:45:36.072Z
Layout: editor
Build Type: Stable
Release Track: Default
Electron: 39.8.1
Chromium: 142.0.7444.265
Node.js: 22.22.1
V8: 14.2.231.22-electron.0
xterm.js: 6.1.0-beta.220
OS: Windows_NT x64 10.0.26200

Does this stop you from using Cursor

No - Cursor works, but with this issue

Hey, thanks for the detailed report. The repro steps and version info are exactly what we need.

This sounds like a classic issue where UTF-8 bytes get treated as Windows-1252 when copying from the terminal buffer. One question to narrow it down:

Does this also happen with normal terminal output, without OpenCode or a TUI? For example, just run echo "附录审稿意见修改报告" in a shell session (you can do it right on the remote host over SSH), then select and copy it. I want to figure out if this is an xterm.js issue, or if it’s about how the TUI renders CJK over SSH.

Let me know what you get, and I’ll know where to dig next.

image


Based on what I get, I guess it is the problem of “TUI on Cursor”

  1. Echo some Chinese characters and paste in a shell session over SSH on Cursor. Works fine.
  2. Echo and paste them in a Opencode TUI in a Windows powershell or VSCode over SSH. Works fine.
  3. Echo and paste them in a Opencode TUI in a shell session over SSH on Cursor. Garbles.