Git Bash 的 curl 发中文 JSON 变成乱码的解决办法
Windows 上 Git Bash 自带的 curl 没有开启 Unicode 支持,-d 里的中文会按 GBK 发出;Node 服务用 request.json() 读取时把非法字节换成 U+FFFD,乱码直接入库。服务端改成严格按 UTF-8 解码、不合法就返回 400,客户端改从 UTF-8 文件或标准输入发送请求体。
这个主题下共有 2 篇文章。
Windows 上 Git Bash 自带的 curl 没有开启 Unicode 支持,-d 里的中文会按 GBK 发出;Node 服务用 request.json() 读取时把非法字节换成 U+FFFD,乱码直接入库。服务端改成严格按 UTF-8 解码、不合法就返回 400,客户端改从 UTF-8 文件或标准输入发送请求体。
Node 24 在 Windows 上不经 shell 启动 pnpm.cmd 会同步抛出 spawn EINVAL。改用 cmd.exe /d /s /c pnpm 启动可以解决;超时时还要用 taskkill /T 结束整个进程树,cmd.exe 输出的中文提示要按 GBK 解码。