use*_*474 37 terminal mac-osx utf-8 unicode
在我的 Mac 终端上,打印 UTF-8 可以正常工作,但less
不能正常工作。
所以这可以正常工作:
$ echo -e '\xe2\x82\xac'
€
Run Code Online (Sandbox Code Playgroud)
但是将其管道化为 less 给出了这样的东西:
$ echo -e '\xe2\x82\xac' | less
<E2><82><AC>
Run Code Online (Sandbox Code Playgroud)
如何解决这个问题?
对于诊断:
我使用的是 Mac OS 10.6.8。少版本 418,终端 2.1.2 (273.1)。
我的语言环境的输出是这样的:
$ locale
LANG="en_US.UTF-8"
LC_COLLATE="C"
LC_CTYPE="C"
LC_MESSAGES="C"
LC_MONETARY="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_ALL="C"
Run Code Online (Sandbox Code Playgroud)
use*_*474 50
好的,我在谷歌搜索后找到了答案。显然,LESSCHARSET
需要这样设置:
export LESSCHARSET=utf-8
Run Code Online (Sandbox Code Playgroud)
现在less
对我来说很好用。
小智 6
如果您可以在 中看到一些 unicode 字符less
,但无法less
显示表情符号,请尝试升级less
到更新的版本。在 Mac OS X 上,我从 458 版升级到 481 版,这解决了我的问题(例如,git log
现在可以在提交消息中显示表情符号)。
如果你有自制软件,你可以通过运行brew install homebrew/dupes/less
.
小智 2
为我工作
LANG=
LC_COLLATE="en_US.UTF-8"
LC_CTYPE="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_ALL="en_US.UTF-8"
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
18419 次 |
最近记录: |