我在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应该正确打印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,所以我想我现在可以忍受这个硬设置了。
答案 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
或者