# 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 环境全局生效。
离线