encoding - 在终端问题中设置语言环境和语言
问题描述
我将 zsh 用于 iterm2(macOS 14 Mojave)的终端。在设置语言环境和语言方面,我遇到了许多问题。最近的问题是我不能将 cocopods 用于我的 ionic 应用程序,因为 gems 不能作为 root。这个问题解决了,因为我的终端需要 UTF-8 编码,它确实如此。我遇到了太多这个问题,以至于我把文件、文件和文件都放进export LANG=en_US.UTF-8
去了。我已经对上述所有文件运行了该命令。我已经完全关闭了终端,然后重新启动了我的电脑。无论发生什么,无论何时我查看文件中的所有信息,都在那里。每当我尝试打开neo vim时,都会发生同样的问题, 我得到输出:.zshrc
.profile
.bashrc
$ source ~/.zshrc
Warning: Failed to set locale category LC_NUMERIC to en_ES.UTF-8.
Warning: Failed to set locale category LC_TIME to en_ES.UTF-8.
Warning: Failed to set locale category LC_COLLATE to en_ES.UTF-8.
Warning: Failed to set locale category LC_MONETARY to en_ES.UTF-8.
Warning: Failed to set locale category LC_MESSAGES to en_ES.UTF-8.
这是我的 .zshrc
export ZSH="/Users/me/.oh-my-zsh"
export LC_ALL=en_ES.UTF-8
export LC_NUMERIC=en_ES.UTF-8.
export LC_TIME=en_ES.UTF-8.
export LC_COLLATE=en_ES.UTF-8.
export LC_MONETARY=en_ES.UTF-8
export LC_MESSAGES=en_ES.UTF-8.
export LANG=en_US.UTF-8
ZSH_THEME="powerlevel9k/powerlevel9k"
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(dir rbenv vcs)
POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(status root_indicator background_jobs history time)
POWERLEVEL9K_PROMPT_ON_NEWLINE=true
POWERLEVEL9K_PROMPT_ADD_NEWLINE=true
POWERLEVEL9K_VCS_MODIFIED_BACKGROUND=’red’
POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX="%f"
local user_symbol="$"
if [[ $(print -P "%#") =~ "#" ]]; then
user_symbol = "#"
fi
POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX="%{%B%F{black}%K{yellow}%} $user_symbol%{%b%f%k%F{yellow}%} %{%f%}"
plugins=(
git
zsh-autosuggestions
)
source $ZSH/oh-my-zsh.sh
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin
source /usr/local/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
echo -e "\033]6;1;bg;red;brightness;18\a"
echo -e "\033]6;1;bg;green;brightness;26\a"
echo -e "\033]6;1;bg;blue;brightness;33\a"
那么这就是我在运行时从nvim得到的:checkhealth
========================================================================
## Configuration
- OK: no issues found
## Performance
- OK: Build type: Release
## Remote Plugins
- OK: Up to date
## terminal
- INFO: key_backspace (kbs) terminfo entry: key_backspace=^H
- INFO: key_dc (kdch1) terminfo entry: key_dc=\E[3~
- INFO: $TERM_PROGRAM='vscode'
- INFO: $COLORTERM='truecolor'
health#provider#check
========================================================================
无论我做什么,我都无法设置 lang 或 utf 或任何与此有关的东西
解决方案
在我的.zshrc
文件中,我添加了以下内容
export LC_ALL=en_US.UTF-8
export LC_CTYPE=en_US.UTF-8
答案基于:https ://github.com/vim/vim/issues/4556#issuecomment-503030484
请注意,当我发现答案时,我不允许发布答案,因为没有足够的时间过去。
至于为什么这样做有效。我不知道,我对这种类型的 Linux/shell 权限、编码等不太熟悉。
推荐阅读
- react-native - 我可以使用 react-native-maps 计算两个坐标之间的距离吗?
- android - 将电容器添加到工作的 MERN 应用程序的麻烦
- c# - 如何在 foreach 循环中临时大写字符串变量?
- jquery - 用jquery多次更改html标题
- python-3.x - Pandas DateTime 解释问题和使用 axvline 绘图
- mips - QTSPIM 告诉我 c.gt.s $f0, $f1 有语法错误(指向 .s)
- python - 从 numpy 数组中选择某个轴
- sql - Google Big Query SQL 从字符串中提取数字 ID
- vue.js - v-model 中的空值
- jquery - Gridster.js 在页面加载时无法正确显示