mux9
Anmeldungsdatum: 1. November 2009
Beiträge: 296
|
hi, damals konnte ich anstatt mouspad, das keine ü-codiermöglichkeit mitbringt, leafpad nehmen, das gibts heute nur als snap und das mauert permissionmäßig : mkdir: cannot create directory '/run/user/0': Permission denied
No protocol specified die snaps richten sich bescheuerter Weise so ein, dass sie mit einer "anders" codierten Datei nicht können. Programmierersülze. auch notepadqq gibts nur als snap (nat. auch mit nervigem Verzeichnis in meinem Baum). notepadqq wird wohl auch mauern. Wenn das Verz. wenigstens "bescheuertes-Verz-das-man-sieht-aber-nicht-loeschen-darf" heißen würde, würd das mein Opa verstehen, wäre es selbstredend. ☺ LO bekommt aus der txt auch keine ü's raus ☹ 20200119.txt: text/plain; charset=unknown-8bit 🙄 "Liebe XUbuntuprogrammierer ..." na ja - well!:
weiß jemand, wie ich ohne snap-Programme die txt korrekt öffnen kann? Danke! mux
|
unbuntuS12
Anmeldungsdatum: 2. Juni 2010
Beiträge: 1816
|
Was sagt file 20200119.txt ?
|
seahawk1986
Anmeldungsdatum: 27. Oktober 2006
Beiträge: 11181
Wohnort: München
|
mux9 schrieb: das mauert permissionmäßig : mkdir: cannot create directory '/run/user/0': Permission denied
No protocol specified die snaps richten sich bescheuerter Weise so ein, dass sie mit einer "anders" codierten Datei nicht können.
Die Fehlermeldung legt den Verdacht nahe, dass du versuchst ein Snap-Programm mit root-Rechten auszuführen - falls das der Fall ist: warum? Den Zeichensatz kann man mit Programmen wie chardet (Paket python-chardet) zuverlässiger erraten lassen als mit file . Statt mit Dateien mit einem veralteten Encoding zu arbeiten würde ich sie konvertieren - das geht z.B. mit einem Zeichensatz-Konverter - falls dir die Editoren darunter nicht liegen (oder sie Probleme haben die Datei zu öffnen), bleibt u.a. noch das in dem Wiki-Artikel erwähnte CLI-Tool iconv.
|
Udalrich
Anmeldungsdatum: 15. Mai 2019
Beiträge: 531
|
mux9 schrieb:
weiß jemand, wie ich ohne snap-Programme die txt korrekt öffnen kann?
MATEs Texteditor Pluma (Paket „pluma“) kann normalerweise jede Textdatei korrekt codiert öffnen; auch kann man beim Öffnen optional das Codierungsformat der Textdatei angeben für Dateien, wo die Autoerkennung nicht funktioniert. Unter anderem deswegen benutze ich Pluma statt Mousepad. Beim Abspeichern kann man optional auch eine gewünschte Codierung angeben. So ist die Umwandlung von ISO-Latein (Windows) nach UTF-8 (Linux) trivial. P.S. Pluma ist die MATE-Version von Gedit aus GNOME und sieht optisch aus wie Mousepad.
|
mux9
(Themenstarter)
Anmeldungsdatum: 1. November 2009
Beiträge: 296
|
Danke! @unbuntuS12
file 20200119.txt
20200119.txt: Non-ISO extended-ASCII text, with very long lines, with CRLF line terminators @seahawk1986 ... du versuchst ein Snap-Programm mit root-Rechten auszuführen
stimmt, dachte das funkt. dann sudo leafpad 20200119.txt
mkdir: cannot create directory '/run/user/0': Permission denied
leafpad 20200119.txt
Failed to open file “/media/nutzer/stick-882D/20200119.txt”: '''Permission denied''' @seahawk1986
chardet 20200119.txt
Der Befehl 'chardet' wurde nicht gefunden, kann aber installiert werden mit:... keine Ahnung wieso. Installiert scheint es zu sein. iconv habe ich noch nicht verstanden. @Udalrich ...jede Textdatei korrekt codiert öffnen
plumar auch nicht: ...ch weià Ìber lange Zei... mux
|
tomtomtom
Supporter
Anmeldungsdatum: 22. August 2008
Beiträge: 53631
Wohnort: Berlin
|
mux9 schrieb: damals konnte ich anstatt mouspad, das keine ü-codiermöglichkeit mitbringt, leafpad nehmen, das gibts heute nur als snap
Das leafpad nicht mehr in den Paketquellen ist, hat übrigens einen guten Grund: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=913765. Die Software ist tot, das Projekt hat seit über 9 Jahren nichts mehr daran getan. Warum man überhaupt ein Snap baut für eine Software, die wegen der angegebenen Gründe aus den Quellen fliegt, ist eher die Frage...
|
seahawk1986
Anmeldungsdatum: 27. Oktober 2006
Beiträge: 11181
Wohnort: München
|
mux9 schrieb: @seahawk1986 ... du versuchst ein Snap-Programm mit root-Rechten auszuführen
stimmt, dachte das funkt. dann sudo leafpad 20200119.txt
mkdir: cannot create directory '/run/user/0': Permission denied
leafpad 20200119.txt
Failed to open file “/media/nutzer/stick-882D/20200119.txt”: '''Permission denied'''
Der Witz von snap ist ja gerade Programme in eine isolierte Umgebung zu stecken, in der sie möglichst wenig dürfen und nicht sie mit maximal möglichen Rechten zu nutzen... @seahawk1986
chardet 20200119.txt
Der Befehl 'chardet' wurde nicht gefunden, kann aber installiert werden mit:... keine Ahnung wieso. Installiert scheint es zu sein.
Ich denke nicht, dass das Paket python-chardet installiert ist, sonst würde er die Meldung nicht bringen. So kannst du sicherstellen, dass das Paket installiert ist:
sudo apt install python-chardet iconv habe ich noch nicht verstanden.
Du sagst dem Programm, welches Encoding die Datei hat und was das gewünschte Ziel-Encoding ist. Du kannst chardet nutzen, um das wahrscheinliche Encoding zu bestimmen, das sieht in etwa so aus:
$ chardet /tmp/win_encoding_test.txt
/tmp/win_encoding_test.txt: ISO-8859-9 with confidence 0.3171137574254168
Und dann sagst du iconv, dass es die Datei nach UTF-8 konvertieren soll (die wahrscheinlichsten Encodings für deine Datei ISO 8859-1 (latin1 ), ISO 8859-15 (latin9 - mit € Zeichen) und CP1252 lassen sich nur schwer zuverlässig automatisiert voneinander unterscheiden, da muss man ggf. experimentieren und dann bei den Sonderzeichen schauen, ob alles passt):
$ iconv --from-code=cp1252 --to-code=utf-8 --output=/tmp/fixed.txt /media/nutzer/stick-882D/20200119.txt
Die Zieldatei /tmp/fixed.txt sollte dann in einem Texteditor deiner Wahl "normal" aussehen.
|
mux9
(Themenstarter)
Anmeldungsdatum: 1. November 2009
Beiträge: 296
|
Danke!
... Ich denke nicht, dass das Paket python-chardet installiert ist, sonst würde er die Meldung nicht bringen.
stömmt! war nicht installiert, obwohl ichs mit synaptic "installierte". Jetzt gehts. Hat bisher aber nichts gebracht. Hier bekommt man eine Liste iconv -l 20200119.txt und hier die Codierung angezeigt: chardet 20200119.txt
20200119.txt: Windows-1252 with confidence 0.634869684499 das brachte bisher nur iconv --from-code=cp1252 --to-code=utf-8 --output=20200119aa.txt 20200119.txt
Pfützen auf der Straße
iconv --from-code=WINDOWS-1251 --to-code=utf-8 --output=20200119bb.txt 20200119.txt
PfГјtzen auf der StraГџe
iconv --from-code=WINDOWS-1252 --to-code=utf-8 --output=20200119cc.txt 20200119.txt
Pfützen auf der Straße
iconv --from-code=WINDOWS-874 --to-code=utf-8 --output=20200119-WINDOWS-874.txt 20200119.txt
iconv: ungültige Eingabe-Sequenz an der Stelle 138
iconv --from-code=WINDOWS-936 --to-code=utf-8 --output=20200119-WINDOWS-936.txt 20200119.txt
Pf眉tzen auf der Stra脽e
iconv --from-code=WINDOWS-1250 --to-code=utf-8 --output=20200119-WINDOWS-1250.txt 20200119.txt
PfĂĽtzen auf der StraĂźe
iconv --from-code=WINDOWS-1251 --to-code=utf-8 --output=20200119-WINDOWS-1251.txt 20200119.txt
PfГјtzen auf der StraГџe
iconv --from-code=WINDOWS-1252 --to-code=utf-8 --output=20200119-WINDOWS-1252.txt 20200119.txt
Pfützen auf der Straße
iconv --from-code=WINDOWS-1253 --to-code=utf-8 --output=20200119-WINDOWS-1253.txt 20200119.txt
iconv: ungültige Eingabe-Sequenz an der Stelle 138
PfΓΌtzen auf der StraΓ
iconv --from-code=WINDOWS-1258 --to-code=utf-8 --output=20200119-WINDOWS-1258.txt 20200119.txt
PfĂ¼tzen auf der StraĂŸe
iconv --from-code=WINDOWS-1256 --to-code=utf-8 --output=20200119-WINDOWS-1256.txt 20200119.txt
Pfأ¼tzen auf der Straأںe
iconv --from-code=WINDOWS-1255 --to-code=utf-8 --output=20200119-WINDOWS-1255.txt 20200119.txt
iconv: ungültige Eingabe-Sequenz an der Stelle 138
Pfֳ¼tzen auf der Straֳ die txt jew. in mousepad geladen. Gruußßßße
|
Udalrich
Anmeldungsdatum: 15. Mai 2019
Beiträge: 531
|
Das dürfte keine normale Windows-Textdatei sein, denn sonst würde die Wandlung aus ISO-Latein nach UTF funktionieren. Ist es eine DOS-Textdatei? Diese könnte man per Codierung „IBM850“ öffnen in „iconv“ oder auch in Pluma. Genaugenommen IBM852, aber das gibts im Pluma nicht. ☺ Wenn das auch nicht geht, würde ich die Datei ausnahmsweise im Texteditor manuell per Suchen und Ersetzen ins richtige Format bringen.
|
seahawk1986
Anmeldungsdatum: 27. Oktober 2006
Beiträge: 11181
Wohnort: München
|
Wurde die Datei eventuell mal aus versehen gespeichert, nachdem sie mit dem falschen Encoding geöffnet wurde?
Kannst du mal so eine Datei anhängen, damit man sich die einzelnen Bytes ansehen kann?
|
mux9
(Themenstarter)
Anmeldungsdatum: 1. November 2009
Beiträge: 296
|
@Udalrich
IBM850
Pfützen auf der Straße
IBM819
Pfützen auf der StraÃe ja, ich habe die jetzt per Suchen/Ersetzen korrigiert. @seahawk1986 ich sah grad ein paar Absätze in der Datei, die korrekte Umlaute haben, sprich: eine Art Mischkodierung, die wohl der Grund fürs eigentümliche Verhalten war. ich schick eine bearbeitete, in pluma gekürzte Version mit (20200119-ausschnitt_aus-pluma-als-iso8859-15-zende-win). Die Originale will ich nicht schicken. Danke & Grüße
- 20200119-ausschnitt-aus-pluma-als-iso8859-15-zende-win.txt (304 Bytes)
- Download 20200119-ausschnitt-aus-pluma-als-iso8859-15-zende-win.txt
|
user_unknown
Anmeldungsdatum: 10. August 2005
Beiträge: 17552
Wohnort: Berlin
|
Ein Teil davon, das mit den Straßen und Plätzen ist schon UTF-8, wie es aussieht. Für das "f�r L�sungen ?... g�be es" kommen zig Encodings in Betracht, 8859*, ISO*, LATIN*, WINDOWS*, CP* und weitere. Große ÜmlÄutÖ wären noch interessant und das scharfe S. Ich tippe aber auch darauf, dass die schonmal geöffnet und ohne Rücksicht aufs falsche Inputformat mit neuem Outputformat gespeichert wurde - da sind Konvertierprogramme natürlich verloren.
|
seahawk1986
Anmeldungsdatum: 27. Oktober 2006
Beiträge: 11181
Wohnort: München
|
Zumindest für die Test-Datei funktioniert ein Ansatz mit ftfy, wenn man Wortweise vorgeht - da das Modul nicht in den Ubuntu-Paketquellen ist, könnte man über ein virtualenv (Abschnitt „Direkte-Nutzung-ab-Python-3-3“) gehen: sudo apt install python3-venv
python3 -m venv ~/.ftfy-venv
. ~/.ftfy-venv/bin/activate
pip install -U pip ftfy Das Skript fix_encoding.py könnte dann so aussehen (ausführbar machen nicht vergessen):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 | #!/usr/bin/env python3
import fileinput
import ftfy
def parse_words_and_repair(line):
start = 0
output = []
for n, c in enumerate(line):
if c == ' ':
stop = n + 1
word = line[start:stop]
w = ftfy.fix_text(word)
output.append(w)
start = stop
return output
for line in fileinput.input(openhook=fileinput.hook_encoded("cp1252")):
print(*parse_words_and_repair(line), sep='')
|
$ ./fix_encoding.py 9128810-20200119-ausschnitt-aus-pluma-als-iso8859-15-zende-win.txt
st würden die Pfützen auf der Straße bei euch ... und Parkplätzen ... wohl noch allerlei ... welches sich laut Zeit für Lösungen ?... gäbe es hier.... natürlich nicht
"moderne" ... aber nur bei höheren Temperaturen.... prüfen bzw. ... können? ... zusammenhängendes Bild
Die Ausgabe des Skripts kann man in eine Datei umleiten.
|
Cranvil
Anmeldungsdatum: 9. März 2019
Beiträge: 990
|
Welches Programm erzeugt diese txt-Datei? Je nach "Glück" könnte es anstelle der CP850 noch die CP437 sein oder UTF-16. Btw: Die Fragezeichen sehen so aus, als wäre deine Datei mindestens einmal erfolglos durch einen wie auch immer geratenen Konverter gerannt. Ich hatte vor ein paar Jahren mal versucht, eine PHP-basierte Webapplikation zu überarbeiten und dabei gelernt, dass illegale Zeichen damit ersetzt werden (siehe Einleitung von Specials_(Unicode_block).
|