文本文件不包含字符编码信息,因此 Firefox 无法知道哪一个是正确的。通过菜单View→Text encoding我可以选择适当的编码。我发现自己每次打开文本文件时都会这样做,因为它似乎总是设置为西默认情况下,但我的文本文件总是统一码(UTF-8)。有没有办法将默认编码设置为 Unicode 而不是 Western?
答案1
如果更改默认编码全部离线文件(不仅仅是文本文件)也适合您,那么现在(我不确定从什么时候开始,但它在 Firefox 59.0 中有效)有一个选项可以将默认编码更改为 UTF-8 about:config
:将值设置intl.charset.fallback.utf8_for_file
为 true。
另外:看起来阻止设置在线文件默认编码的目的之一是为了避免指纹识别。
另请参阅类似问题堆栈溢出(与实际答案(这里使用))和unix.stackexchange(对一些基本原理进行了有趣的讨论)。
答案2
我没有看到从 Firefox 54.0 更改默认编码的方法about:config
,但您可以在每次查看页面时从视图菜单中手动更改它(我知道这并不理想)。我也没有看到任何允许您执行此操作的扩展(尽管我确信有人可以制作一个)。这可能是一项艰巨的任务,但您可以随时尝试编辑 Firefox 源代码以允许这样做,然后编译它。
您可能希望使用您选择的文本编辑器(支持 Unicode 的文本编辑器)打开页面源代码(或 txt 文件),而不是 Firefox 来打开它(您可以使用 control+u 打开当前选项卡中显示的 txt 文件,或者如果它不是 txt 文件,它将在您最喜欢的文本编辑器中打开网页的 HTML 源代码)。为此,
about:config
在您的 URL 栏中打开。- 搜索
view_source.editor.external
(将其更改为 true)和view_source.editor.path
(将其更改为文本编辑器的路径;确保它是完整路径)。 - 重新启动浏览器。
然后,它会在文本编辑器中启动一个临时文件,其中包含页面源代码的文本(对于文本文件而言,这是实际的文本文件)。我测试过,它有效。
显而易见的问题是,如果您正在查看 HTML 源代码(如果您有单击脚本文件链接的习惯),它将不允许您单击打开源代码中引用的脚本。
似乎 Firefox 的另一个版本曾经具有设置默认编码的功能,但是在 Xubuntu 54.0 中不存在该问题。
答案3
您无法配置此功能。如果编码是用户端配置的功能,人们将根据自己的设置创建内容,然后其他读者将无法正确显示内容。
对于file:
URL,Firefox 现在会自动检测 UTF-8。