WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 09.12.2004, 16:14   #1
jak
Inventar
 
Registriert seit: 13.06.2001
Beiträge: 1.830


Standard IE und Umlaute

Ich habe ein Problem mit Umlauten:
Ich lese mit Php (readdir($verz))
Dateien aus einem Verzeichniss ein. Wenn der Dateiname Umlaute enthält erzeugt der Internet Explorer ungültige Pfade:
Aus "2004 12 a_ä_ö_ü_ß_test.jpg" im Quelltext wird "2004 12 a_\xc3\xa4_\xc3\xb6_\xc3\xbc_\xc3\x9f_test.jpg". Firefox erzeugt daraus den Pfad: "2004%2012%20a_%E4_%F6_%FC_%DF_test.jpg".
FF zeigt das Bild an, IE nicht.
Weiß jemand wie man das beheben kann?
Oder anders gesagt: Was muß im Soucecode stehen, damit der IE Umlaute korrekt codiert? Im Moment habe ich <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />.

Jak
____________________________________
Join the DNRC | Godwin\'s Law (thx@stona)
Documentation is like sex: If it\'s good, it\'s very, very good. If it\'s bad, it\'s better than nothing.
\"In theory, theory and practice are the same. In practice, they are not\" (Lawrence Berra)
jak ist offline   Mit Zitat antworten
Alt 09.12.2004, 16:19   #2
_m3
Inventar
 
Registriert seit: 24.09.2001
Beiträge: 7.335


Standard

Lies bitte mal die RFC fuer URLS, ja?

Das ist kein IE Problem, sondern eines, das Du mit Deinem Script Loesen musst:
Zitat:
; HTTP

httpurl = "http://" hostport [ "/" hpath [ "?" search ]]
hpath = hsegment *[ "/" hsegment ]
hsegment = *[ uchar | ";" | ":" | "@" | "&" | "=" ]
search = *[ uchar | ";" | ":" | "@" | "&" | "=" ]

...

uchar = unreserved | escape

...

unreserved = alpha | digit | safe | extra

lowalpha = "a" | "b" | "c" | "d" | "e" | "f" | "g" | "h" |
"i" | "j" | "k" | "l" | "m" | "n" | "o" | "p" |
"q" | "r" | "s" | "t" | "u" | "v" | "w" | "x" |
"y" | "z"
hialpha = "A" | "B" | "C" | "D" | "E" | "F" | "G" | "H" | "I" |
"J" | "K" | "L" | "M" | "N" | "O" | "P" | "Q" | "R" |
"S" | "T" | "U" | "V" | "W" | "X" | "Y" | "Z"

alpha = lowalpha | hialpha
digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" |
"8" | "9"
safe = "$" | "-" | "_" | "." | "+"
extra = "!" | "*" | "'" | "(" | ")" | ","
http://www.faqs.org/rfcs/rfc1738.html

Umlaute, Leerzeichen und andere Sonderzeichen sind in URLs nicht erlaubt!
____________________________________
Weiterhin zu finden auf http://martin.leyrer.priv.at , http://twitter.com/leyrer , http://www.debattierclub.net/ , http://www.tratschen.at/ und via Instant Messaging auf Jabber: m3 <ät> cargal.org .
_m3 ist offline   Mit Zitat antworten
Alt 09.12.2004, 16:37   #3
jak
Inventar
 
Registriert seit: 13.06.2001
Beiträge: 1.830


Standard

Hab' das gerade korrigiert, danke.
Ich les' mir halt im normalfall nicht den RFC durch, wenn ich eine Php-Script schreibe.
Gibt's eigentlich irgendwo eine Auflistung aller Escape-Sequenzen?

Jak
____________________________________
Join the DNRC | Godwin\'s Law (thx@stona)
Documentation is like sex: If it\'s good, it\'s very, very good. If it\'s bad, it\'s better than nothing.
\"In theory, theory and practice are the same. In practice, they are not\" (Lawrence Berra)
jak ist offline   Mit Zitat antworten
Alt 09.12.2004, 16:46   #4
_m3
Inventar
 
Registriert seit: 24.09.2001
Beiträge: 7.335


Standard

Falls Du damit die %xx Werte meinst - das sind einfach nur die ASCII-Werte des entsprechenden Zeichens.
Die HTML 4.1 Spez. hat eine Liste im Anhang.

Spez. lesen zahlt sich aus, auch fuer einen PHP-"Programmierer".
____________________________________
Weiterhin zu finden auf http://martin.leyrer.priv.at , http://twitter.com/leyrer , http://www.debattierclub.net/ , http://www.tratschen.at/ und via Instant Messaging auf Jabber: m3 <ät> cargal.org .
_m3 ist offline   Mit Zitat antworten
Alt 09.12.2004, 17:26   #5
käptn
Inventar
 
Registriert seit: 04.11.2001
Alter: 45
Beiträge: 2.150


Standard

Zitat:
Original geschrieben von _m3
PHP-"Programmierer".
Also solche subtilen Seitenhiebe lass ma mal lieber, ja?

~
____________________________________
LOL - Mein erstes Post im Programmier Forum

MACINTOSH - Most Applications Crash, If Not The Operating System Hangs
käptn ist offline   Mit Zitat antworten
Alt 09.12.2004, 17:50   #6
jak
Inventar
 
Registriert seit: 13.06.2001
Beiträge: 1.830


Standard

Ich geb's ja zu ich bin kein Hardcore C Programmierer sondern ein Java GarbageCollection Benutzer (aka Beckenrandschwimmer) .
Und ob man jetzt Php schreibt oder programmiert ist eine Definitionssache. Im Endeffekt geht es darum, daß der PC das macht was man will. Ob man das in Assembler oder mit Php erreicht ist egal. Ich hab's mir sehr verkneifen müssen in meiner Antwort das Wort "Website" zu vermeiden.

Jak
____________________________________
Join the DNRC | Godwin\'s Law (thx@stona)
Documentation is like sex: If it\'s good, it\'s very, very good. If it\'s bad, it\'s better than nothing.
\"In theory, theory and practice are the same. In practice, they are not\" (Lawrence Berra)
jak ist offline   Mit Zitat antworten
Alt 09.12.2004, 19:29   #7
Potassium
Inventar
 
Registriert seit: 06.03.2003
Alter: 37
Beiträge: 3.954

Mein Computer

Standard

du könntest auch folgende funktion benutzen bevor du was ausgibst, die wandelt alles in html-konforme zeichen um.
Zitat:
function encode_plain_to_html($plain){

$plain = preg_replace("/ö/","&ouml;",$plain);
$plain = preg_replace("/ä/","&auml;",$plain);
$plain = preg_replace("/ü/","&uuml;",$plain);
$plain = preg_replace("/ß/","&szlig;",$plain);
$plain = preg_replace("/\<(?![\S]+)/","&lt;",$plain);
$plain = preg_replace("/(?:\s)+[?![\/]+]\>/","&gt;",$plain);
$plain = preg_replace("/Ö/","&Ouml;",$plain);
$plain = preg_replace("/Ä/","&Auml;",$plain);
$plain = preg_replace("/Ü/","&Uuml;",$plain);
$plain = preg_replace("/&(?!(#)?[[:alnum:]]+;)(?!(\#)+)/i","&amp;",$plain);
$plain = preg_replace("/\<br\>/","
",$plain);
return $plain;
}
@jak: meinst du nicht "internet-seite"?

@_m3: :p :p :p
Potassium ist offline   Mit Zitat antworten
Alt 10.12.2004, 11:08   #8
_m3
Inventar
 
Registriert seit: 24.09.2001
Beiträge: 7.335


Standard

Kaum bin ich mal ein paar Stunden nicht online ...

Ich wuerde das Uebel eher an der Wurzel packen und keine Files mit Umlauten, Leerzeichen etc. zulassen, falls das geht. Ich kenn ja das Umfeld nicht.
____________________________________
Weiterhin zu finden auf http://martin.leyrer.priv.at , http://twitter.com/leyrer , http://www.debattierclub.net/ , http://www.tratschen.at/ und via Instant Messaging auf Jabber: m3 <ät> cargal.org .
_m3 ist offline   Mit Zitat antworten
Alt 10.12.2004, 15:29   #9
jak
Inventar
 
Registriert seit: 13.06.2001
Beiträge: 1.830


Standard

@Potassimum Aja, es war die Internet-Seite.

@_m3: Wenn du Lust hast 562 Dateien von denen ein großer Teil Umlaute und alle Leerzeichen enthalten umzubenennen...
Da sind mir ein paar Zeilen Php die das Übel maskieren lieber.

Auf jeden Fall danke für die Hilfe, jetzt geht alles.

Jak
____________________________________
Join the DNRC | Godwin\'s Law (thx@stona)
Documentation is like sex: If it\'s good, it\'s very, very good. If it\'s bad, it\'s better than nothing.
\"In theory, theory and practice are the same. In practice, they are not\" (Lawrence Berra)
jak ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:01 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag