Autor Zpráva
Michales
Profil
Ahoj,

než se dostanu k problému, tak vím že to není dobře že mám uložené obrázky s diakritikou.
Ale nemám jinou možnost. Obrázky načítám podle názvu alba.
A v českých albech je bohužel diakritika, tak se tomu nemůžu vyhnout.
Názvy alb jsou uložené v databázi.
Vím že bych to mohl načítat podle id toho názvu alba ale tím bych musel přejmenovávat tísíce obrázků a to ještě v různých složkách.
Což se bez chyby neobejde a zamotal bych se do toho úplně.
Takže teď k dotazu, jak zobrazit obrázek který má v názvu diakritiku?
Zobrazuji to pomocí:
$obrazek = 'album/'.$interpret_db[0]['id'].'/'.$album['Album'].'.jpg';
            if (file_exists($obrazek))
            {
                $img = '<img width="100" height="100" src="'.$obrazek.'" alt="'.$album['Albumartist'].' - '.$album['Album'].'" />';
            } else {
                $img = '';
            }  
Pokud obrázek neobsahuje diakritiku, zobrazí se správně.
Můžete mi někdo poradit jakým způsobem zobrazit obrázky i s diakritikou?
Děkuji za případnou radu.
sitole
Profil
Michales:
Na tohle téma nesnáším výmluvy! Doporučuji si stáhnout program, do kterého si napíšeš parametry a ten ti vše automaticky přejmenuje.

Nemusí to být 100% pravda!
I když by takové řešení fungovalo.. Nemusí to jít na všech prohlížečích!

Cituji Yuhů..
"V názvech souborů nepoužívejte mezery a znaky s diakritikou a není-li to nutné, pak ani velká písmena."
Pro přejmenování si stáhni například Advanced Renamer
Michales
Profil
sitole:
Na tohle téma nesnáším výmluvy! Doporučuji si stáhnout program, do kterého si napíšeš parametry a ten ti vše automaticky přejmenuje.
Mě je jedno co nesnášíš..
V tomto případě nejde o výmluvu, nevím k čemu stahovat nějakej program když to umí Total commander.

Přejmenování je řešení, jak už jsem psal výše ale je to mnohem složitější než si dokážeš představit. A ber to klidně jako výmluvu.
Takže jestli nechceš poradit jak to vyřešit dotaz, bez nutnosti přejmenovávat soubory, tak se příště vyvaruj komunikaci.
sitole
Profil
Michales:
1) Nemusíš být uražený. (Více neříkej!)
2) Musíš překonvertovat název souboru do UTF-8.

header('Content-Type: text/html; charset=utf-8');
$url = urlencode(iconv(mb_detect_encoding($file, mb_detect_order(), true), 'UTF-8', $file));

Já nic neříkám.. Jen je nejspíše nejjednodušší to opravdu přejmenovat! (Můj názor)
tak se příště vyvaruj komunikaci“ Každý má právo říct svůj názor.
Michales
Profil
sitole:
Díky ale po tomhle mi to nezobrazí vůbec nic.
sitole
Profil
Michales:
Nechceš sem dát více kodu? Případně stránku s výsledkem?
Ale 100% to pojede na tomhle principu.


Také jsem našel další diskusi
Michales
Profil
sitole:
Kod je výše.
Stránku dát bohužel nemohu. Jedu na localu.
S tou konverzí to zkouším uz 3 hodiny, něco jsem googloval ale výsledek žadný.
Už fakt nevím.
sitole
Profil
Michales:
Omlouvám se, ale víc ti neporadím.. S tímto to bude asi jediné. Prostě to musíš překonvertovat no..
Napíšu hned jak najdu něco nového.
Michales
Profil
sitole:
Díky


$nazev = iconv('windows-1250','utf-8',$album['Album']);
            $obrazek = 'album/'.$interpret_db[0]['id'].'/'.$nazev.'.jpg';
              
            if (file_exists($obrazek))
            {
                $img = '<img width="100" height="100" src="'.$obrazek.'" alt="'.$album['Albumartist'].' - '.$album['Album'].'" />';
            } else {
                $img = '';
            } 
            echo $obrazek;

V echo $obrazek; je nyní:album/103/PĹŻlnoÄŤnĂ­ slunce.jpg

Stále se nezobrazují obrázky.
Alphard
Profil
Michales:
Neměň prosím přezdívky, pak se nedá vyznat ve více vláknech. Tahle rada fungovala?
Pokud k tomu souboru dokážeš přistoupit z PHP, je možné si tu adresu zakódovat a původní soubory publikovat přes nějaký script.
Michales
Profil
Alphard:
nepoužil jsem upload. nahrál jsem obrázky přes ftp.

Odkazované vlákno si myslím že s tímto nesouvisí, pokud se pletu tak se omlouvám.


Tak vyřešeno.
$nazev = rawurlencode(iconv(mb_detect_encoding($album['Album'], mb_detect_order(), true), 'cp1250', $album['Album']));

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0