[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: sed: Problem mit Umlauten



Hallo Andre,

Andre Tann schrieb am Mittwoch, den 28.03.2012 um 09:22:
> Servus zusammen,
> 
> ich habe ein Problem mit sed und Umlauten:
> 
> 	# sed -e '/Z/p' $datei
> 	Z�hl
---------^ Das ist vermutlich ein "ä", das als ISO-8859-1 kodiert ist.

> Öffne ich $datei dagegen mit dem Vim, dann sehe ich dort wie erwartet:
> 
> 	Zähl

VIM "errät" das Encoding.  Tippe mal im VIM den Befehl
	:set fileencoding
ein.  Der wird dann vermutlich "latin1" anzeigen (das ist eine andere
Bezeichnung für ISO-8859-1).

> Dies ist immer der Fall, egal wie ich die Standardsprache einstelle.
> Probiert habe ich
> 
> 	de_DE.UTF-8
> 	de_DE@euro
> 	en_US.UTF-8 

Das Systemencoding (das ist das, was Du hinter der Sprache angibst) hat
keinen Einfluss auf das Encoding von bereits vorhandenen Dateien und
Dateinamen.

Mit 
  iconv --from-code=ISO-8859-1 --to-code=UTF-8 iso.txt > utf.txt
oder im VIM lässt sich das Encoding einer Datei ändern.

> Woran liegts, was kann ich tun?

Früher (in den 90er Jahren) haben sich hier in Europa alle Leute 
gefreut, dass sie auch am Computer endlich echte Umlaute (äöü) statt 
ae, oe und ue benutzen durften.  Damals wurden die Programme 8-Bit 
transparent, Umlaute wurden in iso-8859-1 kodiert und alles war gut.  

Dann kamen die Osteuropäer, die Griechen, die Chinesen oder wen auch 
immer Du für andere "exotische" Schriftzeichen als Schuldigen dazu 
nehmen willst.  Deshalb wurde "utf-8" erfunden.  In "utf-8" werden
"exotische Zeichen" wie z.B. das "ä" in zwei oder mehr Bytes kodiert.

Ein in "latin1" kodiertes "ä" ist in utf-8 nicht zulässig und wird
deshalb dann als "�" dargestellt.

Viele Grüße, Peter Funk
-- 
Peter Funk, home: ✉Oldenburger Str.86, D-27777 Ganderkesee
mobile:+49-179-640-8878 phone:+49-421-20419-0 <http://www.artcom-gmbh.de/>
office: ArtCom GmbH, ✉Haferwende 2, D-28357 Bremen, Germany
DRUPA 3.5.-16.5.2012: Besuchen Sie uns in Halle 4 auf Stand B02


Reply to: