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

命令行SVN执行任意选项均报错:无法转换字符串为UTF-8

SVN全局报错 "Can't convert string from native encoding to 'UTF-8'" 解决指南

问题场景

  • 长期使用TortoiseSVN,近期用于Unreal 5开发时触发全局编码转换错误
  • 所有仓库(包括无近期提交的私有仓库)均受影响,GUI及命令行下所有SVN命令(甚至基础的svn help)都无法正常执行,报错信息如下:

svn help
svn: E720087: Can't convert string from native encoding to 'UTF-8':
svn: E720087: help

  • 系统始终为en-us区域设置,使用cmd默认Consolas字体;已尝试重启系统、重装/升级TortoiseSVN、恢复PATH、从编辑器复制命令执行等操作,均无改善
  • 近期仅对系统做过两项更改:添加PATH条目(已恢复)、安装JetBrains Rider试用版

排查与解决步骤

1. 检查非Unicode程序语言设置

Windows的「非Unicode程序使用的语言」可能被第三方软件(如Rider)篡改,即使系统区域是en-us也会影响SVN:

  • 打开「控制面板」→「区域」→「管理」选项卡
  • 点击「更改系统区域设置」,确认选择「英语(美国)」
  • 重启系统后测试svn help命令

2. 重置SVN全局配置

TortoiseSVN的配置文件可能被意外修改导致编码异常:

  • 打开TortoiseSVN设置窗口,切换到「General」选项卡
  • 先点击「Save to file」备份当前配置,再点击「Reset to defaults」恢复默认设置
  • 关闭设置后重新打开命令行测试SVN命令

3. 清理异常环境变量

JetBrains Rider可能添加了影响编码的环境变量:

  • 打开cmd,执行set命令,查看是否存在LC_ALL、LANG、SVN_ENCODING等异常变量
  • 如果存在,执行set LC_ALL=、set LANG=临时清除,然后测试SVN
  • 若临时有效,右键「此电脑」→「属性」→「高级系统设置」→「环境变量」,在系统/用户变量中删除这些异常变量

4. 修复cmd代码页设置

确保cmd使用兼容的编码:

  • 打开cmd,执行chcp 65001切换到UTF-8代码页,然后测试svn help
  • 如果有效,设置cmd默认使用UTF-8:
    • 打开cmd属性窗口→「选项」→「当前代码页」选择65001
    • 或修改注册表:定位到HKEY_CURRENT_USER\Console\%%SystemRoot%%_system32_cmd.exe,将CodePage值改为十进制65001

5. 卸载JetBrains Rider并清理残留

若上述步骤均无效,尝试卸载Rider并清理相关配置:

  • 从控制面板卸载JetBrains Rider
  • 删除以下目录的残留文件:
    • C:\Users\<你的用户名>\.Rider<版本号>
    • C:\Program Files\JetBrains\Rider
  • 重启系统后重新测试SVN命令

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 13:41:43