|
Programiranje Java, Perl, VB, ASP, .NET, C, C++, Pascal, Delphi Sponzor: |
|
Alati teme | Način prikaza |
30. 06. 2006. | #1 |
VD IT Direktora
Invented the damn thing
Datum učlanjenja: 08.06.2005
Lokacija: Beograd
Poruke: 2.118
Hvala: 503
1.307 "Hvala" u 282 poruka
|
Download fajlova sa non-ascii imenima
Dakle, pitanje je vezano za veb programiranje... Da li je neko od vas imao problema sa serviranjem fajlova koji imaju neke non-ascii (unicode) karaktere u imenu? Imam situaciju da korisnici downloaduju fajlove preko neke skripte, nebitno da li se fajlovi vuku sa diska ili iz baze. Pre nego što pošaljem fajl šaljem Content-disposition HTTP header koji između ostalog navodi i ime fajla (da se korisniku ne bi pri snimanju ponudilo ime FileWriteToUser.aspx). Nažalost, Content-disposition ne podržava enkodiranje imena fajla. Probao sam sa urlencode, ali se većina brauzera ne snalazi (nude ime sa sve procentima).
Nadam se da sam bio dovoljno jasan. Kako vi rešavate ovaj problem, ako ga rešavate? Postoji li neki način osim rewrite-ovanja URL-a? |
30. 06. 2006. | #2 |
Ivan Dilber
Sir Write-a-Lot
|
a sto ne prebacis ime fajla da bude cisti ascii, pre nego sto ga dodas u header ?
Ionako nije zdrava ideja snimati fajlove sa non ascii znacima u imenu, jednom sam u WinXP-u imao grdnih problema da obrisem fajl cije je ime bilo cirilicno. Otvaranje i sve ostalo je radilo, ali brisanje nije htelo.
__________________
Leadership is the art of getting people to want to do what you know must be done. |
30. 06. 2006. | #3 |
expert
Expert
|
ili, jos bolje, prilikom uploada preimenovati u nesto "normalno", i rijesio si se muke u samom startu.
__________________
|
30. 06. 2006. | #4 |
Boris
Grand Master
Datum učlanjenja: 01.12.2005
Lokacija: Novi Sad
Poruke: 775
Hvala: 5
156 "Hvala" u 2 poruka
|
Verovatno covek ima debeo razlog zasto je to tako kako jeste.
Mogao bi eventualno da replacujes filename pre nego sto ga strpas u header, npr sve non-ascii karaktere (zapravo, ovo je malo gruba podela.. ascii karakteri su svi od 0 do 255, a to nije ono sto hoces, siguran sam :P) replacujes sa underscore ili necim drugim, jos zgodnijim.
__________________
"It’s important to have goals when you pet. Otherwise you’re just rubbing another mammal for no reason." - Scott Adams |
02. 07. 2006. | #5 |
VD IT Direktora
Invented the damn thing
Datum učlanjenja: 08.06.2005
Lokacija: Beograd
Poruke: 2.118
Hvala: 503
1.307 "Hvala" u 282 poruka
|
Hvala na predlozima, ali ništa mi od ovog ne pije vodu. Da konvertujem ne mogu, jer konverzija nije jednoznačna (nisam nikad video neku funkciju koja ovo radi), u pitanju je višejezična aplikacija (zapravo CMS platforma) i ne zna se koji će se jezici sve koristiti. Zamena underscorovima mi takođe nije ok, pogotovu ako su svi karakteri iz imena izvan ascii (npr ćirilični).
Po svemu sudeći moraću da radim URL rewrite (ako uopšte odlučimo da pokrivamo ovaj problem). |
02. 07. 2006. | #6 |
Predrag Supurović
Grand Master
Datum učlanjenja: 24.01.2006
Lokacija: Užice
Poruke: 791
Hvala: 3
200 "Hvala" u 12 poruka
|
NE vidim sta je problem zameniti nezgodne karaktere nizom cisth asci znakova, tako da se zadrzi jednoznacnost a ostvi prostor da se restaurira tacno ime datoteke.
Ja bih recimo pre proveravao ime datoteke i ako sadrzi neki nezgodan znak, prekidao bih operaciju i korisniku prikjavljivao gresku. Treca opcija je da datotekama sam dajes imena. Ne moras zadrzavati imena koja im daju korisnici.
__________________
Peđina beležnica (blog) - www.uzice.net - wireless.uzice.net - www.vokabular.org - www.vodic.net - forum.uzice.net |
02. 07. 2006. | #7 |
Boris
Grand Master
Datum učlanjenja: 01.12.2005
Lokacija: Novi Sad
Poruke: 775
Hvala: 5
156 "Hvala" u 2 poruka
|
@Pedja: covek je upravo naveo primer da se ime fajla moze sastojati skroz iz cirilicnih karaktera, pa bi dobio fajl koji se zove, npr ____ _ ______-____.doc.
Prilicno jasan naziv, zar ne?
__________________
"It’s important to have goals when you pet. Otherwise you’re just rubbing another mammal for no reason." - Scott Adams |
02. 07. 2006. | #8 |
Ivan Dilber
Sir Write-a-Lot
|
a da se napise funckija koja radi univerzalno prevodjenje tako sto za svaki jezik koji se koristi definises slova koja treba prevesti i njihove ascii parove (nema toga toliko puno), i onda samo pogledas koji je jezik u pitanju, ucitas parove za taj jezik i prevedes ih...
__________________
Leadership is the art of getting people to want to do what you know must be done. |
02. 07. 2006. | #9 |
Python Ambassador
Master
|
Heh, pre mesečak dana se pojavio sličan problem na django dev mail listi. Naime, žalio sam se što slugify js funkcija "jede" sve karaktere koji su izvan dozvoljenog ASCII opsega, te samim tim izostavlja unicode karaktere.
Baci pogled na tu diskusiju, možda dobiješ koju ideju
__________________
Python Ambassador of Serbia |
03. 07. 2006. | #10 | |
Predrag Supurović
Grand Master
Datum učlanjenja: 24.01.2006
Lokacija: Užice
Poruke: 791
Hvala: 3
200 "Hvala" u 12 poruka
|
Citat:
__________________
Peđina beležnica (blog) - www.uzice.net - wireless.uzice.net - www.vokabular.org - www.vodic.net - forum.uzice.net |
|
|
|
Slične teme | ||||
Tema | Početna poruka teme | Forum | Odgovori | Poslednja poruka |
linux: cp ima problema da kopira fajlove sa non-ascii karakterima u imenu | ivanhoe | Web Hosting, web serveri i operativni sistemi | 5 | 31. 03. 2009. 08:02 |
Download day | cvele | Opušteno | 0 | 29. 05. 2008. 10:51 |
PHP download i imena fajlova | Ilija Studen | PHP | 5 | 31. 03. 2008. 17:31 |
paralelni download | ivanhoe | PHP | 10 | 05. 02. 2007. 14:35 |
Download velikih fajlova se prekida na random mestu | Ilija Studen | PHP | 15 | 04. 10. 2006. 21:47 |