hallo, ich kämpfe seit Tagen und bin immer noch nicht am Ziel: Ich habe eine reine UTF-8 Unicode Textdatei, die mit less oder vi nicht richtig dargestellt wird. Auch beim schreiben in mysql und dann beim ansehen in phpmyadmin ist sie kaputt. Wenn ich die Datei auf win mit dem UTF-8 fähigen Editor ansehe, ist alles ok. Was muss ich einstellen, dass ich diese UTF-8 Datei mit sammt seinen Umlauten richtig angezeigt bekomme und weiter verarbeiten kann? Das muss doch irgendwie möglich sein....... Gruss Jörg
Hi Jörg,
joerg pfeiffer
ich kämpfe seit Tagen und bin immer noch nicht am Ziel: Ich habe eine reine UTF-8 Unicode Textdatei, die mit less oder vi nicht richtig dargestellt wird. Auch beim schreiben in mysql und dann beim ansehen in phpmyadmin ist sie kaputt.
Ich habe dieses Problem auf meiner SuSE 9.2 so gelöst, daß ich die $editoren Kate und KWrite auf ISO-8859-1 umgestellt habe. utf8 scheint unter unixoiden Betriebsystemen halt nicht der Standard zu sein, außer bei SuSE :-( Dateien, die ich hier bearbeite, kommen auf meinem Debian-Server zur Weiterverwurstung nur verkrüppelt an und weil ich keinen Bock habe ständig zu kontrollieren, in welchem Format das jetzt schon wieder geschrieben wird, habe ich halt alles zurück auf ISO-8859-1 (meinetwegen auch ISO-8859-15) gestellt. bis dahin - kind regards Martin Mewes -- Member of the Webmin Translation Team http://www.webmin.com/ http://webmin.mamemu.de/ Debian, SuSE, Securityfocus and Webmin - Mailinglist mboxes http://www.mewes.tv/mbox/
Hallo Martin,
Martin Mewes
joerg pfeiffer
wrote : ich kämpfe seit Tagen und bin immer noch nicht am Ziel: Ich habe eine reine UTF-8 Unicode Textdatei, die mit less oder vi nicht richtig dargestellt wird. Auch beim schreiben in mysql und dann beim ansehen in phpmyadmin ist sie kaputt.
Ich habe dieses Problem auf meiner SuSE 9.2 so gelöst, daß ich die $editoren Kate und KWrite auf ISO-8859-1 umgestellt habe.
utf8 scheint unter unixoiden Betriebsystemen halt nicht der Standard zu sein, außer bei SuSE :-(
Eher umgekehrt. SuSE gehört zu den letzten (Linux) Distributionen, die auf UTF-8 umgestellt haben. Du wirst früher oder später nicht umhinkönnen, deine Dateien umzustellen, daher lieber früher als zu spät :-)
Dateien, die ich hier bearbeite, kommen auf meinem Debian-Server zur Weiterverwurstung nur verkrüppelt an und weil ich keinen Bock habe ständig zu kontrollieren, in welchem Format das jetzt schon wieder geschrieben wird, habe ich halt alles zurück auf ISO-8859-1 (meinetwegen auch ISO-8859-15) gestellt.
Eben aus diesem Grunde, weil keiner ständig alle Dateien umformatieren möchte, ist Unicode das einzig sinnvolle Format im weltumspannenden Dateiaustausch. -Dieter -- Dieter Klünter | Systemberatung http://www.dkluenter.de GPG Key ID:01443B53
joerg pfeiffer
hallo,
ich kämpfe seit Tagen und bin immer noch nicht am Ziel: Ich habe eine reine UTF-8 Unicode Textdatei, die mit less oder vi nicht richtig dargestellt wird. Auch beim schreiben in mysql und dann beim ansehen in phpmyadmin ist sie kaputt.
Wenn ich die Datei auf win mit dem UTF-8 fähigen Editor ansehe, ist alles ok.
Was muss ich einstellen, dass ich diese UTF-8 Datei mit sammt seinen Umlauten richtig angezeigt bekomme und weiter verarbeiten kann?
Das muss doch irgendwie möglich sein.......
Fast alles ist machbar :-) Du schreibst leider nicht, welche locale Umgebung du gesetzt hast, also vermute ich mal iso8859-15. Dann kannst du mit dem Tool iconv deine UTF-8 Datei in iso8859-15 wandeln, wie das geht, sagt dir man iconv(1) -Dieter -- Dieter Klünter | Systemberatung http://www.dkluenter.de GPG Key ID:01443B53
hallo,
Du schreibst leider nicht, welche locale Umgebung du gesetzt hast, also vermute ich mal iso8859-15. Wie bekomme ich das genau raus? Mit locale?
# locale LANG=POSIX LC_CTYPE=de_DE@euro LC_NUMERIC="POSIX" LC_TIME="POSIX" LC_COLLATE="POSIX" LC_MONETARY="POSIX" LC_MESSAGES="POSIX" LC_PAPER="POSIX" LC_NAME="POSIX" LC_ADDRESS="POSIX" LC_TELEPHONE="POSIX" LC_MEASUREMENT="POSIX" LC_IDENTIFICATION="POSIX" LC_ALL= Dann kannst du mit dem Tool iconv
deine UTF-8 Datei in iso8859-15 wandeln, wie das geht, sagt dir man iconv(1)
Also ich habe einmal die Originial UTF-8 Datei mit falscher Darstellung, die ist #file UTF-8 Unicode text, with CRLF line terminators dann habe ich mit dem win editor die Datei als ansi gespeichert und hochgeladen, und die wird dann auch mit less richtig angezeigt. Die ist: #file ISO-8859 Wenn ich jetzt aber iconv -f utf-8 -t ISO-8859-1 doc.txt -o docISO.txt kommt dummer weise iconv: ungültige Eingabe-Sequenz an der Stelle 72327 Aber - der bereits umgwandelte Teil von docISO.txt wird richtig angezeigt! OK, wieso bricht iconv ab? Die Textdatei ist 21MB gross.... Wieso muss ich überhaupt in ISO-8859-1 umwandeln, wo doch Suse 9.1 UTF-8 anzeigen können soll und die Originaldatei auch in UTF-8 ist? Gruss Jörg
joerg pfeiffer schrieb:
Wieso muss ich überhaupt in ISO-8859-1 umwandeln, wo doch Suse 9.1 UTF-8 anzeigen können soll und die Originaldatei auch in UTF-8 ist?
Auf welches Format ist denn dein Editor eingestellt? Z.B. bei Kate kann man oben rechts im Öffnen-Dialog den Zeichensatz einstellen (oder im Menü Ansicht oder gleich bei den Programmeinstellungen -> Öffnen/Speichern). Sven
Sven Niese schrieb:
joerg pfeiffer schrieb:
Wieso muss ich überhaupt in ISO-8859-1 umwandeln, wo doch Suse 9.1 UTF-8 anzeigen können soll und die Originaldatei auch in UTF-8 ist?
Auf welches Format ist denn dein Editor eingestellt? Z.B. bei Kate kann man oben rechts im Öffnen-Dialog den Zeichensatz einstellen (oder im Menü Ansicht oder gleich bei den Programmeinstellungen -> Öffnen/Speichern).
Sorry, es ging ja um vim & co. Also, folgendes funktioniert bei mir, /tmp/test.utxt ist eine utf-8 kodierte Textdatei: # echo $LANG de_DE.UTF-8 # vim /tmp/test.utxt [OK] # export LANG="de_DE@euro" # vim /tmp/test.utxt [Zeichensalat] # export LANG="de_DE.UTF-8" # vim /tmp/test.utxt [OK] Wahrscheinlich hast du ein Problem mit den Locales; ich schätze mal, dass POSIX = iso-8859-irgendwas ist. Sven
joerg pfeiffer
hallo,
Du schreibst leider nicht, welche locale Umgebung du gesetzt hast, also vermute ich mal iso8859-15. Wie bekomme ich das genau raus? Mit locale?
Ja, aber das hast du ja schon gefunden.
# locale LANG=POSIX LC_CTYPE=de_DE@euro LC_NUMERIC="POSIX" LC_TIME="POSIX" LC_COLLATE="POSIX" LC_MONETARY="POSIX" LC_MESSAGES="POSIX" LC_PAPER="POSIX" LC_NAME="POSIX" LC_ADDRESS="POSIX" LC_TELEPHONE="POSIX" LC_MEASUREMENT="POSIX" LC_IDENTIFICATION="POSIX" LC_ALL=
Dann kannst du mit dem Tool iconv
deine UTF-8 Datei in iso8859-15 wandeln, wie das geht, sagt dir man iconv(1)
Also ich habe einmal die Originial UTF-8 Datei mit falscher Darstellung, die ist #file UTF-8 Unicode text, with CRLF line terminators dann habe ich mit dem win editor die Datei als ansi gespeichert und hochgeladen, und die wird dann auch mit less richtig angezeigt. Die ist: #file ISO-8859
Ich würde eine DOS Datei immer mit dos2unix konvertieren. Welches ISO Format ist das denn nun? es gibt ja schließlich 14, von iso-8859-1 bis iso8859-15
Wenn ich jetzt aber iconv -f utf-8 -t ISO-8859-1 doc.txt -o docISO.txt kommt dummer weise iconv: ungültige Eingabe-Sequenz an der Stelle 72327
Aber - der bereits umgwandelte Teil von docISO.txt wird richtig angezeigt!
OK, wieso bricht iconv ab? Die Textdatei ist 21MB gross....
Kann ich nicht beurteilen, sieh dir doch mal Zeile 72327 an vielleicht siehst du dann ja was.
Wieso muss ich überhaupt in ISO-8859-1 umwandeln, wo doch Suse 9.1 UTF-8 anzeigen können soll und die Originaldatei auch in UTF-8 ist?
Auf deinem System ist die locale auf iso8859-15 gesetzt, damit ist auch die Definition bestimmter Fonts verbunden. Ein Editor oder Pager verwendet immer die Fonts der locale Umgebung, es sei denn, du sagst explizit, daß eine andere Fontfamilie genutzt werden soll, wie z.B. iso10646-1 (unicode). Die Originaldatei ist aber wohl unter Windows erstellt worden und da gelten andere Gesetze :-) -Dieter -- Dieter Klünter | Systemberatung http://www.dkluenter.de GPG Key ID:01443B53
Dieter Kluenter
Ein Editor oder Pager verwendet immer die Fonts der locale Umgebung, es sei denn, du sagst explizit, daß eine andere Fontfamilie genutzt werden soll, wie z.B. iso10646-1 (unicode).
Auf der Konsole (*nicht* xterm etc.) verwenden *alle* Programme den bei Systemstart geladenen Zeichensatz und nix anderes. Philipp
Hallo, Am Thu, 18 Nov 2004, Philipp Thomas schrieb:
Dieter Kluenter
[17 Nov 2004 12:37:00 +0100]: Ein Editor oder Pager verwendet immer die Fonts der locale Umgebung, es sei denn, du sagst explizit, daß eine andere Fontfamilie genutzt werden soll, wie z.B. iso10646-1 (unicode).
Auf der Konsole (*nicht* xterm etc.) verwenden *alle* Programme den bei Systemstart geladenen Zeichensatz und nix anderes.
... es sei denn, man ruft dazwischen 'setfont' auf. Dann verwenden alle Programme den neugeladenen Font. *scnr* -dnh -- Ich kriege Druck von beiden Seiten. Den technisch Bewanderten ist man immer der "Agenturheini, kein Ahnung, Hauptsache bunt" - und für die Kreativen ist man immer "Der Langweiler, der am liebsten alles SchwarzWeissTimesNew runterrasseln" würde. Beides macht das Web nicht besser. -- ratti
participants (6)
-
David Haller
-
Dieter Kluenter
-
joerg pfeiffer
-
Martin Mewes
-
Philipp Thomas
-
Sven Niese