gpt4 book ai didi

Bash:即使在将语言环境设置为 UTF-8 后仍然出现奇怪的字符: "•"打印为 "ΓÇó"

转载 作者:行者123 更新时间:2023-12-04 08:47:10 28 4
gpt4 key购买 nike

我们有一些从 Windows 中的 Git Bash (MINGW64) 运行的 Groovy 脚本。
某些脚本会打印项目符号字符 •(或类似字符)。
为了使它工作,我们设置了这个变量:export LC_ALL=en_US.UTF-8但是,对于某些人来说,这还不够。它的控制台打印 ΓÇó而不是 .
关于如何使其正确打印的任何想法以及为什么即使在设置 LC_ALL 变量后仍然打印?
更新
关键部分是 Groovy 脚本的输出打印不正确,但普通 bash 脚本没有问题。

最佳答案

查询当前字符映射的示例 locale charmap由系统区域设置使用,并使用重新编码过滤输出以使用兼容的字符映射呈现它:

#!/usr/bin/env sh

cat <<EOF | recode -qf "UTF-8...$(locale charmap)"
• These are
• UTF-8 bullets in source
• But it can gracefully degrade with recode
EOF
charmap=ISO-8859-1它呈现为:
o These are
o UTF-8 bullets in source
o But it can gracefully degrade with recode
使用 iconv 的替代方法而不是 recode结果甚至可能更好。
#!/usr/bin/env sh

cat <<EOF | iconv -f 'UTF-8' -t "$(locale charmap)//TRANSLIT"
• These are
• UTF-8 bullets followed by a non-breaking space in source
• But it can gracefully degrade with iconv
• Europe's currency sign is € for Euro.
EOF
iconv输出 fr_FR.iso-8859-15@Euro语言环境:
o These are
o UTF-8 bullets followed by a non-breaking space in source
o But it can gracefully degrade with iconv
o Europe's currency sign is € for Euro.

关于Bash:即使在将语言环境设置为 UTF-8 后仍然出现奇怪的字符: "•"打印为 "ΓÇó",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64253633/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com