Seite 1 von 1
schon wieder umlaute...
Verfasst: 06.02.2005 16:13
von Lord_Femto
hallo leute.
ich habe ein problem mit umlauten.
zunächst eine erklärung.
ich habe einen pfad. in dem ordner befinden sich bilder.
z.b. www.......de/images/Leuchttürme/Warnemünde.jpg
den <img src=.. pfad hole ich mir aus der datenbank. nun wissen wir ja, dass sich die unix server schwer mit umlauten tuen.
gibt es aber eine möglichkeit dieses problem zu lösen, denn bei Warnemünde kann man nicht auf englisch umsatteln und ue zu schreiben ist auch doof. gibt es da ne möglichkeit das problem zu lösen???
Verfasst: 06.02.2005 17:10
von Blutgerinsel
Verfasst: 06.02.2005 19:04
von Lord_Femto
hi. danke für den tipp. doch wie muss ich das jetzt handhaben?
ich habe einen ftp pfad:
http://www........de/images/Leuchttürme/Warnemünde Leuchtturm.jpg
usw.
und in meinem skript frage ich das bild nach:
http://www........de/images/' . $area . '/' . $place
wobei $area = Leuchttürme sind und $place = Warnemünde Leuchtturm.jpg ist.
und wenn ich jetzt folgendes schreibe:
http://www........de/images/' . urlencode($area) . '/' . urlencode($place)
schreibe, so sieht der pfad folgendermaßen aus:
http://www........de/images/Leuchtt%FCrme/Leuchtturm+Warnem%FCnde.jpg
und das bild ist immer noch nicht ersichtbar.
Verfasst: 06.02.2005 23:30
von Blutgerinsel
Zur Verarbeitung natürlich wieder urldecode(); verwenden oder wo ist jetzt das Problem?
Verfasst: 07.02.2005 00:04
von Lord_Femto
hmmm. ehrlich gesagt weiß ich nicht wo ich das einsetzen muss. hier ist der code:
Code: Alles auswählen
if ( isset($_POST['picture_categorie']) || isset($_GET['picture_categorie']) )
{
$picture_categorie = ( isset($_POST['picture_categorie']) ) ? $_POST['picture_categorie'] : $_GET['picture_categorie'];
}
else
{
$picture_categorie = '';
}
$page_title = 'Fotogallerie';
include($boot_root_path . 'includes/page_header.'.$phpEx);
include($boot_root_path . 'includes/page_left.'.$phpEx);
if( !empty($picture_categorie) && !empty($_GET['picture_categorie_id']) )
{
$template->set_filenames(array(
'body' => 'picture_gallery_body.tpl')
);
$sql = "SELECT picture_content_id, picture_content_link, picture_content_title FROM " . PICTURE_CONTENT_TABLE . " WHERE picture_categorie_id='" . $_GET['picture_categorie_id'] . "'";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain matched posts list', '', __LINE__, __FILE__, $sql);
}
while( $row = $db->sql_fetchrow($result) )
{
$template->assign_block_vars('picture_content', array(
'I_IMAGE' => '<img src="images/' . $picture_categorie . '/' . $row['picture_content_link'] . '" alt="' . urlencode($row['picture_content_link']) . '" title="' . urlencode($row['picture_content_link']) . '" width="100" height="100" border="0" />',
'L_IMAGE' => $row['picture_content_title'],
'U_IMAGE' => 'test')
);
}
$template->pparse('body');
}
else
{
$template->set_filenames(array(
'body' => 'picture_gallery_list.tpl')
);
$sql = "SELECT picture_categorie_id, picture_categorie_categorie FROM " . PICTURE_CATEGORIES_TABLE . " WHERE picture_categorie_show='" . $_GET['show'] . "'";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain matched posts list', '', __LINE__, __FILE__, $sql);
}
while( $row = $db->sql_fetchrow($result) )
{
$template->assign_block_vars('picture_categorie', array(
'L_CATEGORIE' => $row['picture_categorie_categorie'],
'U_CATEGORIE' => 'index.' . $phpEx . '?show=picture_gallery&picture_categorie=' . $row['picture_categorie_categorie'] . '&picture_categorie_id=' . $row['picture_categorie_id'])
);
}
$template->pparse('body');
}
include($boot_root_path . 'includes/page_tail.'.$phpEx);
?>
der pfad der dateien lautet: ....de/images/Leuchttürme/Leuchtturm Warnemünde.jpg
Verfasst: 07.02.2005 14:14
von Blutgerinsel
Nachtrag:
urldecode macht keinen Sinn, wir wollen ja nur die encodierte Url haben und keine codierte wieder decodieren........
Wenn ich mich richtig erinnere ohne das Manual aufzuschlagen, macht urlencode ein Leerzeichen auch zu einem + und das versteht sich nicht mit dem img Tag........
Versuch mal anstatt urlencode -> rawurlencode
Bsp.:
Code: Alles auswählen
echo '<img src="'.rawurlencode('äüö blabla.gif').'">';
Hat bei mir gerade problemlos geklappt....
Verfasst: 07.02.2005 14:31
von larsneo
OT: ggfs. sollte man $picture_categorie auch auf directory traversal untersuchen...
Verfasst: 07.02.2005 23:06
von Lord_Femto
ohhh. danke. es haut alles soweit hin. noch mals vielen dank.