Wie erstellt man eine Vorschau für Textdateien in UTF-8 standardmäßig?

2794
kch

Wenn ich die Kurzübersicht im Finder für eine Textdatei verwende, wird sie unvermeidlich unleserlich dargestellt, da sie als MacRoman behandelt wird.

Kann ich etwas tun, damit es immer UTF-8 verwendet, oder, noch besser, etwas klug über die Erkennung von Kodierungen?


<rant>
Vielleicht sind nicht alle meine Textdateien UTF-8. Aber ich bin verdammt sicher, dass MacRoman kein einziger ist. Einige Leute bei Apple verwenden immer noch OS 9, schätze ich.
</ rant>

2

2 Antworten auf die Frage

6
Alex

Es ist ein Dateiattributproblem. Am Ende finden Sie hier zwei Links, die dies erläutern: http://discussions.apple.com/thread.jspa?threadID=1479441&tstart=120

Grundsätzlich, wenn Sie dies ausführen: xattr -w com.apple.TextEncoding 'UTF-8;134217984' yourfile.txtIhre Datei wird in QuickLook korrekt angezeigt.

Meiner Meinung nach hat es mehr mit dem Editor und der Art zu tun, wie er die Datei speichert, als mit QuickLook.

Meines Erachtens ist das Betriebssystem, das MacRoman standardmäßig verwendet, während sich die Welt weiterentwickelt hat, sehr schwach. kch vor 13 Jahren 1
Ich denke, jetzt brauche ich eine Möglichkeit, das für jede Textdatei auszuführen, die ich erstellt habe. Fsevents und Folder-Aktionen fallen mir ein. Wäre schön, wenn TextMate auch Hooks zum Speichern nach dem Speichern hätte. kch vor 13 Jahren 0
Warum speichern Sie es nicht einfach als UTF-8 in TextMate? mipadi vor 13 Jahren 0
Das ist in der Tat das Problem. QuickLook meint, es sei ohnehin MacRoman. Daher das Plappern. kch vor 13 Jahren 0
0
kch

Ich habe ein kleines Skript geschrieben, das Fsevents abtippt und das Xattr einstellt, wenn eine Datei in meinem Haus gespeichert wird.

Ich enthülle auch die Dateierweiterung, die nicht mit dieser Frage zusammenhängt.

Das Skript finden Sie hier: http://gist.github.com/506382

Das Skript muss ständig ausgeführt werden, daher wäre eine Datei zum Starten des Jobs sehr willkommen.


Siehe auch meinen Kommentar zur Verwendung ~/.CFUserTextEncoding hier .

Apropos Launchd, WatchPaths und QueueDirectories können die Arbeit erledigen, ohne dass ich selbst auf Fsevents zugreifen muss. kch vor 13 Jahren 0