我在 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 -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)
它正确打印字符。(虽然,作为转储而不是在浏览器环境中打开):

编辑:
忘记说了,
-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,我想我现在可以忍受困难的设置。
我认为你应该使用
lynx -dump --display_charset=utf-8
而不是硬设置配置文件
所以
lynx --display_charset=utf-8 http://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-demo.txt
或者
| 归档时间: |
|
| 查看次数: |
2154 次 |
| 最近记录: |