更改Firefox文本文件的默认编码


10

文本文件不包含字符编码信息,因此Firefox无法知道哪个是正确的。通过菜单ViewText encoding我可以选择适当的编码。我发现每次打开文本文件时都会这样做,因为默认情况下似乎总是将其设置为Western,但是我的文本文件始终是Unicode(UTF-8)。有什么方法可以将默认编码设置为Unicode而不是Western?


我想我的第一个问题是,为什么要使用浏览器打开纯文本文件?或者,如果需要浏览器,为什么不添加编码标头?除此之外,您还安装了什么版本的Firefox(语言环境)?如果我还记得,美国版本默认为Unicode,但某些欧洲国家版本默认为Western。
user3169

@ user3169我使用Firefox在本地文件系统上打开文本文件进行打印,因为与(例如)使用a2ps或vi打印相比,我发现对打印输出的控制更为轻松。我的Firefox是英文的,但可能不确定,可能会是en-uk-我怎么知道?不确定将编码标头添加到纯文本文件是什么意思?
Gerrit

您的操作系统是什么?在Windows 7中,您可以在Program Files \ Mozilla Firefox \ install.log中看到它。或者,您可以(为了安全起见,备份完个人资料文件夹之后)卸载当前安装,然后使用所需的安装程序(ftp.mozilla.org/pub/firefox/releases)安装。对于FF问题,您应该在问题中包括FF版本和操作系统。
user3169

有时,在网页html源中,您会在标头中看到类似<meta http-equiv =“ Content-Type” content =“ text / html; charset = utf-8” />的内容。如果在文本文件的顶部添加这样的内容,FF可能会为您选择它。我不是html专家,但我认为您可以理解。
user3169

Answers:


6

如果更改所有脱机文件(不仅是文本文件)的默认编码也对您有用,那么现在(我不确定自何时起,但它在Firefox 59.0中可以使用)现在可以选择将默认编码更改为UTF -8 in about:config:将值设置intl.charset.fallback.utf8_for_file为true。

顺便说一句:防止为在线文件设置默认编码的目的之一是避免指纹。

另请参见关于stackoverflow的类似问题(此处使用实际答案)和unix.stackexchange(对一些基本原理进行有趣的讨论)。


1

我看不到从更改Firefox 54.0中默认编码的方法about:config,但是您每次查看页面时都可以从视图菜单中手动更改默认编码(我知道这并不理想)。我也没有看到任何扩展允许您这样做(尽管我确定有人可以做到)。这可能是一项艰巨的任务,但是您始终可以尝试编辑Firefox源代码以允许这样做,然后再对其进行编译。

您可能对此感兴趣,因此您选择的文本编辑器(支持Unicode的文本编辑器)将打开页面源(或txt文件),而不是Firefox来打开页面源(您可以使用control + u打开一个txt文件,显示在当前标签中,或者如果它不是txt文件,则会在您喜欢的文本编辑器中打开网页的HTML源代码。要做到这一点,

  1. about:config在网址栏中打开。
  2. 搜索view_source.editor.external(将其更改为true)和view_source.editor.path(将其更改为文本编辑器的路径;确保它是完整路径)。
  3. 重新启动浏览器。

然后,它将在文本编辑器中启动带有页面源文本的临时文件(对于文本文件,它是实际的文本文件)。我测试了它,而且效果很好。

明显的问题是,如果您正在查看HTML源代码(如果您习惯单击脚本文件的链接),则无法单击打开源代码中引用的脚本。

似乎另一个版本的Firefox可以一次设置默认编码,但是在Xubuntu的54.0中不存在。


1
嗯,是。我使用Firefox打开文本文件的原因之一是因为我比a2ps或都更喜欢其打印选项vim,所以也许我的问题是XY问题。
Gerrit
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.