Lynx UTF-8 支持

All*_*sso 5 utf-8 lynx

我在 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=
Run Code Online (Sandbox Code Playgroud)

当我运行 Lynx 时

lynx http://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-demo.txt
Run Code Online (Sandbox Code Playgroud)

显示内容如下:

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
Run Code Online (Sandbox Code Playgroud)

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

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.  ...
Run Code Online (Sandbox Code Playgroud)

但是,该设置仅在其所在的会话中持续存在。这对我不起作用,因为我主要lynx -dump在脚本中使用。但由于我几乎只是 UTF-8,我想我现在可以忍受困难的设置。

xia*_*ang 9

我认为你应该使用

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/