我有很多关于 linux 语言环境的问题,尤其是不同的编码。1. 当我在 bash 中执行以下命令时,使用哪种语言环境?
// Привет - Russian "Hello"
echo "Привет" > ./test.txt
据我了解,它应该使用通过locale
命令获取的语言环境。
经过一些更改语言环境的实验后,我总是在控制台上得到正确的答案cat ./test.txt
。但为什么?为什么当我从"ru_RU.iso88595"
,"ru_RU.koi8r"
等更改语言环境时,我总是得到正确的结果?
这是否意味着实际上我的语言环境没有改变?或者文件编码独立于当前语言环境?
注意:当我设置 LC_ALL 时,export LC_ALL="ru_RU.iso88595"
我得到bash: warning: setlocale: LC_ALL: cannot change locale (ru_RU.iso88595)
,但echo $?
给了我0
,然后locale
返回新的语言环境。这个语言环境真的设置了吗?