如何获得terminal的字符编码

现在我将gnometerminal的字符编码更改为“GBK”(默认为UTF-8),但是如何在Linux中获取值(字符编码)?

terminal使用环境variables来确定使用哪个字符集 ,因此您可以通过查看这些variables来确定它:

echo $LC_CTYPE 

要么

 echo $LANG 

不带参数的locale命令将打印除LANGUAGE以外的所有相关环境variables的值。

对于当前编码:

 locale charmap 

对于可用的区域设置:

 locale -a 

对于可用的编码:

 locale -m 

检查编码和语言:

 $ echo $LC_CTYPE ISO-8859-1 $ echo $LANG pt_BR 

获取所有语言:

 $ locale -a 

更改为pt_PT.utf8:

 $ export LC_ALL=pt_PT.utf8 $ export LANG="$LC_ALL" 

据我所知,没有。

来自$LC_CTYPElocale等的环境指示可能看起来很诱人,但是这些与terminal应用程序(实际上是仿真器)在屏幕上显示字符时恰好使用的编码完全分离。

他们只能检测编码的方法是输出只在编码中出现的东西,比如ä ,截取屏幕截图,分析该图像并检查输出字符是否正确。

所以不行,不幸的是,这是不可能的。

如果你有Python:

 python -c "import sys; print(sys.stdout.encoding)"