6

我在 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 应该正确打印 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

它可以正确打印字符。(尽管,作为转储而不是在浏览器环境中打开):

Lynx 正确显示 UTF-8 测试页

编辑:

忘了说,

-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,我想我现在可以忍受硬设置。

4

1 回答 1

5

我认为你应该使用

lynx -dump --display_charset=utf-8

而不是硬设置配置文件

所以

lynx --display_charset=utf-8 http://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-demo.txt

或者

检查 https://www.brow.sh/

于 2019-11-21T18:59:15.653 回答