Avatar billede ajenbo Nybegynder
31. juli 2007 - 18:06 Der er 15 kommentarer og
1 løsning

Flash ut8 filnavn

Jeg har en flv player der loader flv filer som den får via en variable sendt med swf filen navn.

/player.swf?flvFilename=/video/noget-med-ø.flv

det ser sådan set ud til at virke fint men flash insistere på at loade /video/s%F8mthing.flv istedet for /video/s%C3%B8mthing.flv, min html side er utf8 encoded så det er ikke der fejlen ligger.

på adobes side finder jeg det her om flash's url encoding, men man må da kunde slå den over i UTF8 eller gennemtvinge encodingen.
http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_14143&sliceId=1

jeg har også forsøgt at åbne filen med med et url der i forvejen er url encoded, men det har heller ikke hjulpet
/player.swf?flvFilename=/video/noget-med-%C3%B8.flv
Avatar billede barklund Nybegynder
31. juli 2007 - 19:42 #1
Er det tilladt at foreslå det oplagte? Omdøbe filen? Jeg gætter på at du ikke har mulighed for at rette i playeren?
Avatar billede nolleren Nybegynder
01. august 2007 - 10:01 #2
Jeg har haft problemer med det samme engang jeg lavede et CMS system der skulle arbejde med flash!

Flash's måde at oversætte æøåÆØÅ er %C3%A6%C3%B8%C3%A5%C3%86%C3%98%C3%85 hvorimod HTML's UTF encode er %E6%F8%E5%C6%D8%C5.

Jeg ser intet system i dette og ved ikke hvorfor det er så anderledes. Men tror det nemmeste ville være at oversætte alle de tags som du får i din querystring i flash til de flash bruger og derefter unescape det så du får de rigtige bogstaver i flash.
Avatar billede barklund Nybegynder
01. august 2007 - 10:38 #3
Altså, "%C3%A6%C3%B8%C3%A5%C3%86%C3%98%C3%85" er æøåÆØÅ i urlencoding under utf-8. Og "%E6%F8%E5%C6%D8%C5" er æøåÆØÅ i urlencoding under latin-1/iso-8859-1.
Avatar billede nolleren Nybegynder
02. august 2007 - 09:40 #4
Det ved jeg ikke. Men jeg ved bare at hvis man skriver æøåÆØÅ i sin adresselinje i sin browser bliver det lavet om til "%E6%F8%E5%C6%D8%C5" men de tegn kan flash ikke forstå da den selv kører med disse tegn "%C3%A6%C3%B8%C3%A5%C3%86%C3%98%C3%85" for de samme 6 bogstaver. Derfor må man gøre det at når man hiver sine bogstaver lave dem om til de tegn flash bruger og derefter unesape dem.
Avatar billede nolleren Nybegynder
02. august 2007 - 09:41 #5
Har ingen idé om der skulle findes en nemmere metode/bedre løsning og heller ikke om hvorfor dette problem opstår!
Avatar billede ajenbo Nybegynder
02. august 2007 - 11:40 #6
Nolleren: Som barklund siger så er det ene utf8 og det andet iso-8859-1
Mit problem er faktisk at flash kalder i iso-8859-1 istedet for utf8 hvilket er omvendt af hvad du sigere, har du nogen ide om hvordan du har fået flash til at køre utf8?
Hvis du vil køre utf8 i urls på din side skal du bare konfiguere dine html filer (gemme som utf8 og indsætte meta tag), og muligvis browser og dns. det har jeg allerede gjordt på min side så min side sender %C3%B8 og ikke %F8 til flash, Jeg har overvejet at at escape urlen men ser det som en dårlig løsning, især nu hvor du indirekte siger det godt kan lade sig gøre at få flash til at køre UTF8.

Barklund: Jeg har fuld adgang til at lave om i flash filen men jeg kan ikke bestemme flv filnavnene nogle ider?
Avatar billede nolleren Nybegynder
02. august 2007 - 12:17 #7
Ved ikke om det her hjælper men prøv at søge i hjælpen på det her: "useCodepage" .. Der står vidst lidt omkring det!
Avatar billede ajenbo Nybegynder
02. august 2007 - 14:52 #8
Det er til at loaded filindholdet i samme encoding som brugerens OS, det ville gøre at win9x/me/nt ville loade indholdet i iso-8859-1, 2000/xp/vista/linux i UTF8 og switchen virker slet ikke på mac os så der vil den opføre sig som nu, så den funktione er bestemt ikke acceptabel.
Men mit problem er med filnavnen ikke indholdet af tekst filer (loader slet ikke tekst filer).
Avatar billede barklund Nybegynder
02. august 2007 - 18:31 #9
Hm, i et request sendes strengen i en bestemt encoding - mon useCodepage ikke også bestemmer den? Eller er det virkelig browseren?

Har du adgang til serveren? Kan du lave et php-script på den eller asp eller noget andet?
Avatar billede ajenbo Nybegynder
03. august 2007 - 13:34 #10
Ja jeg har adgang til serveren, jeg kan lave php.
useCodepage kan kun sættes til TRUE og jeg kan ikke rigtig satse på at brugeren har et OS der både køre UTF8 og ikke er Mac, specielt fordi hoved parten af dem der skriver og uploader til siden sider ved Mac's, også noget jeg ikke kan lave om på :)
Avatar billede barklund Nybegynder
03. august 2007 - 15:55 #11
Du kan angive dine filer som:

/player.swf?flvFilename=visvideo.php?v=/video/noget-med-ø.flv

Så kan visvideo.php enten forsøge at læse filnavnet direkte, eller hvis det fejler læse filen "på det andet tegnsæt" (altså konvertere fra utf-8 til latin-1 eller omvendt efter behov).

I PHP skal du så - når du har fundet filen - sende den rigtige content-type header tilbage til flash og så til sidst lave en fpassthru("min.flv").

Men noget helt andet, hvis brugerne selv uploader videoerne via et php-script, du har kontrol over - kan du så ikke bare sørge for at fjerne specialtegn her?
Avatar billede ajenbo Nybegynder
04. august 2007 - 00:12 #12
jeg kunde godt blokere special tegn men det ville ikke vaere godt fo brugerne, de er allerede slemt kede af at jeg fjerner /& og ? fra filnavnen.
dit work around med at søge efter filen direkte og konvatered til utf8 er et acceptabelt workaround, men jeg vil stadig foretrække at dt bare virked.
Avatar billede barklund Nybegynder
04. august 2007 - 15:12 #13
Jeg har ikke lige en server, der bruger utf-8-filnavne, så jeg kan ikke teste selv - ellers kunne det godt tænkes, at der kunne laves en løsning. Men jeg kender ikke én umiddelbart, da jeg aldrig selv er stødt på problemet. Jeg ville omskrive filerne efter upload.
Avatar billede ajenbo Nybegynder
06. august 2007 - 14:46 #14
et ord SEO... eller 3
Avatar billede ajenbo Nybegynder
06. august 2007 - 14:48 #15
Hvis du vil have utf8 filnavne kan du slå ftp over i utf8 i nogle clienter som smart ftp, det skulde helst også være utf8 hvis du laver filen direkte på maskinen
Avatar billede ajenbo Nybegynder
18. oktober 2007 - 11:11 #16
problemet er løst i flash 9 kan man encodeurl
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester