您尚未登录。

#1 工业芯 匠芯创 » LookupError: unknown encoding: cp65001 (luban-lite win_env.bat问题修复) » 昨天 11:20:12

colin_lam
回复: 0

# LookupError: unknown encoding: cp65001 (luban-lite win_env.bat问题修复)

## 问题描述
在 Git Bash (MINGW64) 环境下运行 `win_env.bat` 并使用 `scons` 编译时,出现:
```
LookupError: unknown encoding: cp65001
```
这是因为 Python 2.7 不支持 `cp65001`(Windows UTF-8 编码)。

## 复现环境
- 系统:Windows 10 x64
- 终端:Git Bash (MINGW64)
- 工具链:Luban-Lite 自带 Python 2.7
- 编译器调用方式:`win_env.bat` → `scons`

## 修复方法
1. 打开:
```
tools\env\tools\Python27\Lib\encodings\aliases.py
```
2. 在文件末尾或合适位置添加:
```python
'cp65001': 'utf_8', # by Colin
```

## 原理说明
- `cp65001` 是 Windows UTF-8 代码页的名称。
- Python 2.7 标准库中缺少该编码映射,导致读取/写入输出流时失败。
- 添加映射后,Python 能将 `cp65001` 正确解析为 `utf_8`。

## 注意事项
- 修改后无需每次 `chcp 936` 切换编码。
- 此修改是永久性的,对 Luban-Lite 自带 Python 环境全局生效。

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn