You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

命令行查找替换XLF文件内容后特殊字符变为问号问题求助

问题原因

  • 使用ASCII编码输出时,ASCII字符集不支持中文字符,所有中文会被替换为问号
  • 移除编码参数后,PowerShell默认读写编码不匹配:读取UTF-8编码的源文件时解码正确,但写入时使用了系统默认的ANSI编码,导致中文显示为乱码字符

解决方案

你可以直接将runner.bat的内容替换为如下单条命令,一次性完成替换且避免乱码:

powershell -Command "(gc -Encoding UTF8 input.xlf) -replace '&lt;', '<' -replace '&gt;', '>' | Out-File -Encoding UTF8 output.xlf"

如果你的xlf文件要求使用无BOM的UTF-8编码(符合多数XML文件规范,Windows PowerShell 5.1版本默认输出的UTF-8带BOM),可以使用以下兼容写法:

powershell -Command "$content = (gc -Encoding UTF8 input.xlf) -replace '&lt;', '<' -replace '&gt;', '>'; [IO.File]::WriteAllText('output.xlf', $content, [System.Text.UTF8Encoding]::new($false))"

调整说明

  • 读取文件时显式指定-Encoding UTF8,保证源文件的中文字符被正确解码
  • 合并两次替换操作为单步,避免多次读写文件引入的编码错误
  • 写入文件时显式指定UTF-8编码,保证中文字符被正确存储

内容的提问来源于stack exchange,提问作者Owen Kelvin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 16:15:04