• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

umlaute - lokal ok, upload auf webspace nicht -

linOS

Member
hilfe, ich weiß nicht mehr weiter. ich habe jetzt mein suse soweit, das es im dateimanager usw. öäü richtig anzeigt (LANG=de_DE@euro). jetzt wollte / muss ich mich an meine webseite machen weil da wegen eines kopierfehlers daten verschwunden sind. ich habe dazu erstmal eine html-datei geändert und hochgeladen. ich hatte schonmal probleme mit dem hochladen, weils aber nicht wichtig/dringent war hab ichs dabei belassen.

so, egal ob quanta oder kate, ich habe die zeichencodierung auf iso8859-1 gestellt und es mit utf8 probiert. in beiden fällen werden die zeichen wie hier nicht korrekt dargestellt. egal welche einstellung, ich muss meinen konqueror von dazu zwingen, in utf8 die zeichen darzustellen (egal welche einstellung ich beim speichern verwende).
http://www.kleine-familie.de/themen/gesundheit/index.php?view=impfung2.php

wie soll ich was einstellen damit sowohl es auf meinem server zuahsue (da gehts auch nicht) als auch online richtig erkennen kann. einige öäü-s werden richtig erkannt, die stammen noch aus meiner windows- und suse8.1-zeit. kann doch nicht so schwer sein =(

gibt es sonst noch html/php-entwickler, die das gelöst bekommen haben? hülfää... =)
 

spunti

Hacker
Meine Standardantwort steht hier:
http://www.linux-club.de/viewtopic.php?t=14606&highlight=export+umlaute

Ob das wirklich hilft, weiß ich nicht, da ich kein Experte bin. Aber das hat komischer Weise schon bei mehreren solchen Problemen geholfen.

spunti
 
OP
L

linOS

Member
hi.

das habe ich ja schon gemacht. der fehler trat auch danach auf. das problem ist aber behoben, frage nicht warum *grübel *nachdenk. folgendermasen:

man kopiere den quelltext der datei, öffne eine neue, leere datei, kopiere in da hinein, speichere ab und schon wars das =) geht aus irgendeinem grund. verstehen kann ich es nicht ganz, im editor sieht ja alles so aus wie vorher. liegt vielleicht an der ursprungsdatei und deren zeichensatzdingens. kapier dann aber nicht wozu ich den edior sagen kann in welchem er abspeichern soll wenn er es sowieso nicht tut. ich glaub hier tut noch ein bischen aufklärung not ;)
 

steos

Member
Der von dir beschriebenen Effekt tritt auch bei mir sproadisch immer wieder auf, speziell dann, wenn ich Dateien zwischen Windows (W2k) und Linux (SUSE 9.1 Pro) austausche bzw. weiter editiere (LaTeX, Scripte u.ä.). Die Ursache ist die Codierung in der der Text erstellt wird; unter http://btmdx1.mat.uni-bayreuth.de/www2001/skript/node19.html gilt es eine recht gute Kurzbeschreibung:

Zum Beispiel werden deutsche Umlaute daher mit Zahlen zwischen 128 und 255 codiert. Unglücklicherweise ist die Codierung der Zeichen mit Zahlen zwischen 128 und 255 nicht einheitlich. MS-DOS verwendet eine andere Codierung als MS-Windows, beide Codierungen unterscheiden sich wiederum von der Unix-Codierung.

Daher verwundert es nicht, das alles paßt, sobald du den Inhalt in eine neue, leere Datei (wird auf Basis der jeweiligen Default-Codierung generiert, die sich von der der Ursprungsdatei unterscheiden kann) kopierst.

Abhilfe: Im verwendeten Editor eine passende Codierung/Konvertierung wählen (wenn der dies unterstützt). Ich verwende unter Win z.B. TextPad. Probier z.B. mal'

(7) Austausch von Texten zwischen DOS und UNIX
=======================================================================

Die Textformate von DOS und UNIX unterscheiden sich in zwei
Punkten:
- Codierung der Sonderzeichen (z.B. Umlaute)
- Markierung des Zeilenendes (DOS: CR+LF, UNIX: LF)
[ CR = Carriage Return = "Wagenruecklauf",
LF = Line Feed = "Zeilenvorschub" ]

Die Programme "fromdos" und "todos" wandeln ausschliesslich
die Zeilenenden um, andere Zeichen werden nicht angepasst.
Gleiches gilt fuer die Optionen "conv=auto", bzw. "conv=text"
des mount-Kommandos.
Um auch die Sonderzeichen korrekt zu konvertieren, muss man das
Programm "recode" benutzen:

"recode ibmpc:lat1 hausarb.tex"

wandelt die DOS-Datei "hausarb.tex" in das ISO-Latin-1-Format
("UNIX") um.
Einfach kann man es sich mit zwei "aliasen" in "/etc/profile"
machen:

-----8<----- hier schneiden -----8<-----
alias unix2dos='recode lat1:ibmpc'
alias dos2unix='recode ibmpc:lat1'
-----8<----- hier schneiden -----8<-----

aus (gefunden unter http://yebisu.ics.es.osaka-u.ac.jp/linux/HOWTO/German-HOWTO.txt). S' hängt also davon ab, auf welcher Plattform die jeweilige Datei generiert wurde bzw. auf welcher sie weiter verwendet werden soll. Da kann es schon mal notwendig werden, die eine oder andere Umkonvertierung vorzunehmen.

Hoffe das hilft dir weiter...
 

LH

Member
WARNUNG WARNUNG WARNUNG
WARNUNG WARNUNG WARNUNG
WARNUNG WARNUNG WARNUNG


Ich sehe dort einen extremem Anfängerfehler der schnell zu großen problemen werden kann:


NIEMALS NIEMALS NIEMALS ungeprüfte Variablen in ein include oder require packen!

In dem oben beschrieben System ist das möglich:

http://www.kleine-familie.de/themen/gesundheit/index.php?view=/etc/passwd

Das zeigt zwar wegen des Basedirs nichts an, ABER: Jede Datei innerhalb des Basedirs ist so aufrufbar.

Es wurden schon viele Daten von anderen Systemen so gestohlen, die Meldung mit dem Menu bei dem Planetopia "PC-Sicherheitsexpterten" ging ja erst vor kurzem zum.

Also: NIEMALS einfach eine variable ins require/inlcude packen, immer eine Liste erlaubter Dateien führen, die als einziges dort includes werden dürfen.
 
OP
L

linOS

Member
danke für den tip ;) bin gerade dabei die seite umzuschreiben und muss sowieso nochmal anfangen.
 
Oben