Die Joomla- .ini
Dateien müssen als UTF-8 gespeichert werden.
Nach der Bearbeitung bin ich mir nicht sicher, ob die Dateien UTF-8 sind oder nicht.
Gibt es einen Linux-Befehl wie file
oder einige Befehle, die erkennen lassen, ob eine Datei tatsächlich UTF-8 ist oder nicht?
file
ist ein Beispiel für ein Programm, das kluge Vermutungen anstellt.Antworten:
Sie können die Dateicodierung mit dem folgenden Befehl bestimmen:
quelle
file -I filename
( -Ich bin ein Kapital i).Verwenden Sie den
isutf8
Befehl aus dem Paket moreutils .Quelle: Wie können Sie feststellen, ob eine Datei UTF-8-codiert ist oder nicht?
quelle
find -type f -exec isutf8 {} +
, weil es auch den Dateinamen zitiert. (Und mit der Verwendungfind ... -exec ... +
ist auch schnell)Verwenden Sie den
file
Befehl nicht. Es wird nicht die gesamte Datei überprüft, und es wird im Grunde genommen geraten. Es gibt manchmal falsche Antworten.Sie können überprüfen, ob eine Datei die UTF-8-Codierung wie folgt besteht:
Ein Rückkehrcode von Null bedeutet, dass UTF8 bestanden wird. Ein Rückkehrcode ungleich Null bedeutet, dass UTF8 nicht gültig ist.
Es ist nicht möglich zu wissen, ob eine Datei notwendigerweise unter Verwendung eines bestimmten Codierungsschemas exportiert wurde, da sich einige Codierungsschemata überschneiden. Um dies zu tun, müssten Metadaten in die Datei eingebettet werden, und selbst dann würden Sie demjenigen vertrauen, der diese Datei generiert hat, anstatt sie selbst zu validieren ... und Sie sollten sie immer selbst validieren.
quelle
Eine weitere Möglichkeit ist die Verwendung
recode
, die mit einem Fehler beendet wird, wenn versucht wird, UTF-8 zu dekodieren, und ungültige Zeichen festgestellt werden.quelle