Bash Tool 之于 Windows Powershell 乱码一事
- 内容介绍
- 文章标签
- 相关推荐
cc这些在windows Bash Tool 调用命令 powershell时 很容易乱码
因为内置的powershell 5 是936 GBK的
一旦有中文输出或者符号什么的就会开始显示不了 这会极大的污染上下文和阻断LLM读入 提高了出错风险 比如误删库
image1920×338 111 KB
image1920×522 126 KB
以及虽然 pwsh 7 是默认UTF-8 的但是 如果 被 pwsh这样调用也没招 被git-bash套了一层,而且他很容易为了干净用 -NoProfile 来执行 这样你设置在 $PROFILE 里也无济于事
(codex的不是很清楚,但道理一样
所以我们就需要在git-bash上来预先指定一下 UTF-8
$HOME\.bashrc
# 搞定python
export PYTHONIOENCODING=utf-8
export PYTHONUTF8=1
# 搞定通过 Git Bash 管道调用时中文输出乱码问题
_ps_utf8_wrapper() {
local exe="$1"; shift
local pre_args=()
local cmd=""
local found_command=false
while [[ $# -gt 0 ]]; do
case "$1" in
-Command|-c)
found_command=true
shift
cmd="$*"
break
;;
*)
pre_args+=("$1")
shift
;;
esac
done
if $
cc这些在windows Bash Tool 调用命令 powershell时 很容易乱码
因为内置的powershell 5 是936 GBK的
一旦有中文输出或者符号什么的就会开始显示不了 这会极大的污染上下文和阻断LLM读入 提高了出错风险 比如误删库
image1920×338 111 KB
image1920×522 126 KB
以及虽然 pwsh 7 是默认UTF-8 的但是 如果 被 pwsh这样调用也没招 被git-bash套了一层,而且他很容易为了干净用 -NoProfile 来执行 这样你设置在 $PROFILE 里也无济于事
(codex的不是很清楚,但道理一样
所以我们就需要在git-bash上来预先指定一下 UTF-8
$HOME\.bashrc
# 搞定python
export PYTHONIOENCODING=utf-8
export PYTHONUTF8=1
# 搞定通过 Git Bash 管道调用时中文输出乱码问题
_ps_utf8_wrapper() {
local exe="$1"; shift
local pre_args=()
local cmd=""
local found_command=false
while [[ $# -gt 0 ]]; do
case "$1" in
-Command|-c)
found_command=true
shift
cmd="$*"
break
;;
*)
pre_args+=("$1")
shift
;;
esac
done
if $

