Also erstens: Wer nutzt denn noch ICQ in Zeiten von Facebook? Hehe, ne, Spaß; ich mein nur, weil ich mal gehört habe, dass wohl ICQ kaum noch benutzt wird und alle in Facebook rumhängen. Ich selber hab nicht einmal einen Facebook-Account und ziehe auch Jabber+co. vor.
Zum Thema, @johnnysnet und all die anderen, weil ich grad mal 5 Minuten über habe:
In ASCII gibt es keine Umlaute! So einfach ist das. ASCII ist eine 7-bit-Kodierung, nutzt also nur 7 der 8 Bit eines jeden Bytes und im ASCII sind somit nur 128 Zeichen* fest kodiert, wobei die ersten 33 Zeichen auch noch Steuerzeichen sind und keinem lesbaren Zeichen entsprechen.
*) Die ersten 128 Zeichen heißt: Zeichen 0 bis 127. Denn in der Informatik wird generell, naja meist zumindest, bei 0 angefangen zu zählen.
Die Zeichen 128 bis 255, die dann bei einer 8-bit-Codierung, wie sie heute üblich ist, übrig sind, werden nun immer anders genutzt. Je nach Codepage / Zeichensatztabelle eben mal mit zusätzlichen lateinischen, arabischen, griechischen oder sonstigen Zeichen.
Dies ist notwendig, weil so nicht alle Zeichen der Welt auf einmal kodiert werden können. Es stehen halt insgesamt nur 255 Plätze zur Verfügung, es gibt aber zig Tausende Schriftzeichen. Je nach genutzter Zeichensatztabelle bedeutet also ein und das selbe Byte unter Umständen ein anderes Zeichen. Auf die Art können also nur Leute außerhalb des Standard-ASCII-Zeichensatzes kommunizieren, die die gleiche Zeichensatztabelle benutzen. Uns deutsche betrifft das nur bei den Umlauten, da wir den Rest mit den Angloamerikanern, die ASCII erfunden haben, teilen. Deshalb haben wir auch kein großes Problem, wenn wir die "falsche" Zeichensatztabelle nutzen. Sind halt nur die Umlaute kaputt. Andere, wie z.B. die Asiaten, trifft es bei der kompletten heimischen Sprache. Wenn da die falsche Zeichensatztabelle genutzt wird, kommt nur Datenmüll heraus.
Aus diesem Grund wurde Unicode erfunden. Hier erhält jedes Zeichen der Welt eine eindeutige Nummer. Diese passen aber natürlich nicht mehr alle in ein einzelnes Byte. Also wurden wiederum verschiedene Möglichkeiten gesucht, diese zig Tausend verschiedene Zeichen eindeutig in Bits abzubilden. So z.B. bei UTF-16, das einfach alles in zwei Bytes abbildet. Oder UTF-8, welches die im PC-Bereich häufig genutzten Zeichen (ASCII) in einem Byte abbildet und andere Zeichen in mehr Bytes. Unicode ist also auch nicht gleich UTF-8, aber das ginge jetzt zu sehr ins Detail...
So ist jetzt auch klar, warum alles - bis auf Umlaute - normal aussieht, wenn jemand etwas z.B. mit einer ISO-8859 Zeichensatztabelle ließt, das in UTF-8 kodiert ist: Der ASCII-Bereich stimmt überein, die Umlaute nicht. Und hier im speziellen Fall "in UTF-8 kodieren und als ISO-8859 lesen" fällt sogar die Mehrzeichenkodierung von UTF-8 auf: Die deutschen Umlaute werden dort in 2 Byte kodiert, weshalb bei der Interpretation per ISO-8859 hier zwei Zeichen entstehen.
Zu DOS-Zeiten wurde übrigens Codepage 437 bzw. 850 benutzt, welche unsere deutschen Umlaute schon enthalten. Die ISO hat dennoch für uns deutsche mittlerweile ISO-8859-1 (bzw. jetzt -15 mit €) vorgesehen und Microsoft hat für Windows daraus CP-1252 abgeleitet. Dummerweise sind die Sonderzeichen bei diesen jeweils unterschiedlich kodiert, weshalb auch immer. Jedenfalls muss ein Umlauteproblem daher nicht einmal etwas mit UTF-8 zu tun haben, es könnte auch schon weit älter sein...
PS: sorry, ist etwas lang geworden... wollte den thread eigentlich nicht kapern...
(edit: doppelpost entfernt)