我在 OS X 10.11 上使用 Lynx。但是,它不会为非 ASCII 字符打印 UTF-8,而是它们的 ASCII 表示或ef bf bd
“替换”字符 (?)。
我一直在研究本指南以寻求帮助。
命令的输出locale
:
locale
LANG="en_US.UTF-8"
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=
当我运行 Lynx 时
lynx http://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-demo.txt
这是显示的样子:
根据文章中的帖子,Lynx 应该正确打印 UTF-8。
lynx -dump ...
打印相同。
(跑步export LC_ALL="en_US.UTF-8"
也无济于事。)
奇怪的是,如果我使用-mime_header
参数运行,例如:
lynx -mime_header http://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-demo.txt
它可以正确打印字符。(尽管,作为转储而不是在浏览器环境中打开):
编辑:
忘了说,
-assume_charset=utf8
和-assume_unrec_charset=utf8
也不帮忙。
编辑:
好吧,我可以通过在 lynx.cfg 中硬设置 CHARACTER_SET 来获得我想要的输出。尽管这似乎是一种解决方法,但正如它在文档中所述:
# ... The 'o'ptions menu setting will be stored in the user's RC
# file whenever those settings are saved, and thereafter will be used as the
# default. ...
但是,该设置仅在其设置的会话中持续存在。这对我不起作用,因为我主要lynx -dump
在脚本中使用。但由于我几乎只是 UTF-8,我想我现在可以忍受硬设置。