混合エンコーディング (utf-8 と latin-1 など) で破損したファイルがある場合、ファイルを保存するときにすべてのシンボルを単一のエンコーディング (utf-8 など) に「投影」するように Emacs を構成するにはどうすればよいですか?
クリーニングの一部を自動化するために次の関数を実行しましたが、この関数を改善するために、あるエンコーディングの記号「é」をutf-8の「é」にマップするための情報をどこかで見つけることができると思います(またはその誰かがすでにそのような関数を書いています)。
(defun jyby/cleanToUTF ()
"Cleaning to UTF"
(interactive)
(progn
(save-excursion (replace-regexp "अ" ""))
(save-excursion (replace-regexp "आ" ""))
(save-excursion (replace-regexp "ॆ" ""))
)
)
(global-unset-key [f11])
(global-set-key [f11] 'jyby/cleanToUTF)
エンコーディングが混在しているために多くのファイルが「破損」しており (フォント構成が不適切なブラウザーからコピーして貼り付けたため)、以下のエラーが発生します。問題のある各シンボルを検索して "" または適切な文字に置き換えるか、エンコーディングとして "utf-8-unix" をより迅速に指定することで、手動でクリーンアップすることがあります (次に編集して保存するときに同じメッセージが表示されます)。ファイル)。このような破損したファイルでは、強調された文字が、保存するたびにサイズが 2倍になるシーケンスに置き換えられ、最終的にファイルのサイズが 2 倍になるため、問題になっています。GNU Emacs 24.2.1 を使用しています
These default coding systems were tried to encode text
in the buffer `test_accents.org':
(utf-8-unix (30 . 4194182) (33 . 4194182) (34 . 4194182) (37
. 4194182) (40 . 4194181) (41 . 4194182) (42 . 4194182) (45
. 4194182) (48 . 4194182) (49 . 4194182) (52 . 4194182))
However, each of them encountered characters it couldn't encode:
utf-8-unix cannot encode these: ...
Click on a character (or switch to this window by `C-x o'
and select the characters by RET) to jump to the place it appears,
where `C-u C-x =' will give information about it.
Select one of the safe coding systems listed below,
or cancel the writing with C-g and edit the buffer
to remove or modify the problematic characters,
or specify any other coding system (and risk losing
the problematic characters).
raw-text emacs-mule no-conversion