Problem bei der Anzeige von Bildern

kbit

Erfahrenes Mitglied
Hi ich bin mir nicht ganz sicher ob mein Problem unter HTML fällt aber im moment weiß ich nicht woran es sonst liegen könnte.

Und zwar speichere ich die Namen von Bildern in einer DB.
Später rufe ich die Bilder so wie im Bsp auf:

PHP:
			echo '<img id="id_gross" src="../../'.$row['Bi_gross'].'"  alt="Kein Bild vorhanden" >';
Unter Bi_gross steht der Name des Bildes drin.
Das klappt auch ganz gut, nur wenn ich z.b in dem Name ein ß habe dann ruft er mir kein Bild mehr auf sondern gibt den Text unter alt aus. Änder ich das ß in ss in der DB und im Namen des Bildes dann ruft er es mir wieder auf.
Das komische ist nur das wenn ich mir $row['Bi_gross mal'] ausgeben lasse dann ruft er den Namen ganz normal auf mit ß also macht er da keine Umlaute drauß oder so. Dann müsste er doch das Bild auch korrekt aufrufen?
 
bei dateinamen sollte man auf Umlaute, ß, o.Ä. sowieso verzichten.
es ist wahrscheinlich das beste, diese regel einzuhalten.

aber warum das nicht geht, so wie du es beschrieben hast, weiß ich nicht....

lg
 
Versuch es mal so:

PHP:
echo '<img id="id_gross" src="../../'.urlencode($row['Bi_gross']).'"  alt="Kein Bild vorhanden" >';

[phpf]urlencode[/phpf]
 
PHP:
<?php

// Überprüfe einfach ob die Bedingungen zum Upload eingehalten wurden ;)

$prefix = '_tutorials_de'; // Ist nur ein Beispiel, kannst du auch leer lassen :D
$file = 'dhß?d$.jpg';

$filetype = substr($file, -3,3);

$file = substr($file, 0,-3);

if(preg_match('~[^a-z0-9]~i', $file)) {

$file = preg_replace('~[^a-z0-9]~i','',$file);

}

$newfilename = $file.$prefix.'.'.$filetype;
echo $newfilename;

?>
 
Also ich habe es mit urlencode ausprobiert das geht aber nicht.

Hatte zum test das mal so gemacht echo urlencode ($row['Bi_gross']); Da gab es schon das Problem das er dort das ß also % usw dargestellt hat und somit konnte die Datei ja nicht gefunden werden

PHP:
echo '<img id="id_gross" src="../../Strasse.jpg"  alt="Kein Bild vorhanden" >';

Ich hab es jetzt mal so gemacht das ich direkt den Namen eingegeben habe und da geht es auch nur wenn ich aus dem ß ein ss mache. Aber es muss doch möglich sein das ich ein ß oder andere Umlaute als Bild oder Dateinamen schreiben kann?
 
Probier doch mal anstatt die Umlaute deren HTML-Codierungen in die DB einzutragen, also z.B. anstatt ß nimmst &szlig;, anstatt ö nimmst du &ouml; usw.
 
Daran hatte ich auch schon gedacht. Aber wie man sieht von meinem Post um 1 Uhr, liegt es ja nicht daran was in der DB steht und ausgelesen wird. Sondern es liegt schon daran das wenn ich in dem Bildnamen ein Sonderzeichen habe es schon nicht aufgerufen wird. Nur müsste es ja eigentlich auch gehen das ich in einem Bildnamen Sonderzeichen habe und das Bild mir dann angezeigt wird.
 
Ich hatte an sowas auch schon gedacht aber das Problem liegt wohl daran das wie im Bsp zu sehn, wenn das Bild Straße.jpg heißt das Bild nicht angezeigt wird. Und sobald ich es in Strasse.jpg umbenenne dann funktioniert es.

PHP:
echo '<img id="id_gross" src="../../Straße.jpg"  alt="Kein Bild vorhanden" >';

Denn so wie im Bsp rufe ich ja nichts mehr aus der DB auf sondern gehe den direkten weg zum Pfad des Bildes. Deshlab denke ich das das img zum erstellen wohl nicht damit klar kommt.
 
Also ich kann Bilder mit deutschen Umlauten aufrufen.

Hast du das Ganze mal ganz normal in HTML-Code probiert? Also ohne echo etc.? Vielleicht liegt es ja irgendwo am Zeichensatz von PHP...
Oder am Zeichensatz des Browsers, wenn es so auch nicht geht. Obwohl das bei heutigen Browsern eigentlich gar kein Problem geben dürfte...
 
Zurück