Firefoxで代替エンコーディングをUTF-8に設定するには?

Firefoxで代替エンコーディングをUTF-8に設定するには?

私はノルウェー語のマークダウン文書を作成しました:

$ file brukerveiledning.md
brukerveiledning.md: UTF-8 Unicode text

次のmarkdownコマンドを使用してHTMLに変換しました。

$ markdown > brukerveiledning.html <  brukerveiledning.md 
$ file brukerveiledning.html 
brukerveiledning.html: UTF-8 Unicode text

しかし、Firefoxは「windows-1252」エンコーディングの使用にこだわります。ASCII以外の文字を削除します。代替テキストエンコーディングを「現在のロケールのデフォルト」(イギリスではISO-8859-1またはUTF-8でなければなりません)で、「中央ヨーロッパ、ISO」、「中央ヨーロッパ、Microsoft」、および「その他(含む)」に設定してみました。 ))」。これらのいずれも、æ、ø、åを表示しません。 Unicodeオプションはありません。また、about:configを、、、、などのさまざまな値に変更しようとしましたが、成功しませんでしintl.fallbackCharsetList.ISO-8859-1た。utf8utf-8iso-8859-1

このmarkdownパッケージを使用してください。

$ pacman --query --owns "$(which markdown)"
/usr/bin/markdown is owned by markdown 1.0.1-6

そしてこの領域は:

$ locale 
LANG=en_GB.utf8
LC_CTYPE="en_GB.utf8"
LC_NUMERIC="en_GB.utf8"
LC_TIME="en_GB.utf8"
LC_COLLATE="en_GB.utf8"
LC_MONETARY="en_GB.utf8"
LC_MESSAGES="en_GB.utf8"
LC_PAPER="en_GB.utf8"
LC_NAME="en_GB.utf8"
LC_ADDRESS="en_GB.utf8"
LC_TELEPHONE="en_GB.utf8"
LC_MEASUREMENT="en_GB.utf8"
LC_IDENTIFICATION="en_GB.utf8"
LC_ALL=

聞いてみようコマンドレベルのソリューションを要求しましたがmarkdown拒否されました。

ベストアンサー1

Firefoxで代替エンコーディングをUTF-8に設定することは意図的にブロックされています。 bugzilla.mozilla.org/show_bug.cgi?id=967981#c4をご覧ください。

私が調査した2つの解決策は次のとおりです。

1]マイナーなものを適用斑点ソースへFirefoxの構築基本設定|フォントと色| [代替テキストエンコーディング]ドロップダウンメニューにUnicode [UTF-8]オプションを直接追加します。

utfx2]ローカル[Apache] httpdサーバーを実行し、ディレクトリにあるutf-8エンコーディングファイルの名前ベースの仮想サーバーを設定します/my/utf-8/files。その後、FirefoxはファイルをUTF-8エンコーディングとして認識して表示するutf-8文字セットhttpヘッダーを生成できます。もちろん、実際のファイルエンコーディングはUTF-8でなければなりません!

a) /etc/httpd/httpd.conf - 追加:

<VirtualHost *:80>
    # This first-listed virtual host is also the default for *:80
    ServerName localhost
    DocumentRoot "/srv/httpd/htdocs"
</VirtualHost>
<VirtualHost *:80>
    ServerName utfx
    DocumentRoot "/my/utf-8/files"
      <Directory "/my/utf-8/files">
          Options Indexes
          Require all granted
      </Directory>
## show UTF-8 characters in file names:
    IndexOptions Charset=UTF-8
## for files with extension html or txt:
    AddCharset UTF-8 txt html
## for extensionless files:
      <Files *>
          ForceType 'text/plain; charset=UTF-8'
      </Files>
      <Files *\.*>
          ForceType None
      </Files>
</VirtualHost>

(再)サーバーを起動します -apachectl restartまたはapachectl graceful

b)/etc/hosts - utf-8でエンコードされたファイルにアクセスするためのドメイン名を追加します。

127.0.0.1   utfx

wget -S <URL> を使用して、サーバーから送信されたコンテンツタイプ情報を確認できます。

wget -S http://utfx/test{æø,.txt,.html} 2>&1 >/dev/null | grep Content-Type

3つのファイル形式(testæø、test.txt、test.html)。
出力は次のようになります。

コンテンツタイプ:text / plain; charset = utf-8
コンテンツタイプ:text / plain
;

c) about:config - 新規追加|ブール:

browser.fixup.domainwhitelist.utfx  "true"

その後、utfxFirefoxアドレスバーに入力するとファイルのリストが表示されます。

おすすめ記事