Lynx UTF-8支持

时间:2018-07-26 22:24:26

标签: utf-8 lynx

我在OS X 10.11上使用Lynx。但是,它不会为非ASCII字符打印UTF-8,而是为它们的ASCII表示形式或ef bf bd“替换”字符(?)。

我一直在研究this guide来寻求帮助。

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 displays UTF-8 test page incorrectly

根据文章中的帖子,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 displays UTF-8 test page correctly

编辑:

忘记提及,

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

1 个答案:

答案 0 :(得分:0)

我认为您应该使用

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/