Filnamn med svenska tecken

Events happening in the community are now at Drupal community events on www.drupal.org.
RTauson's picture

Hej !
Vet någon hur jag kan hantera filnamn med svenska tecken i exempelvis åäö.
Sitter på en installation med drupal 6 och xampp på windows.
När jag laddar upp en fil medhjälp av core upload modulen så skrivs filnamnet ned "utf-8" encodat filnamn emedan länken skrivs ned i decodat format dvs åäö.

Exempel:
Laddar upp en fil med namn åäö.jpg
Den skrivs ned till filsystemet som .../files/åäö.jpg
Länken på den skapade noden länkar till .../files/åäö.jpg , vilket innebär att den inte går att öppna. Döper jag däremot om filen till åäö.jpg manuellt i filsystemet fungerar länken.

Har tittat på modulen Transliteration , den löser problemet genom att översätta åäö.jpg till aao.jpg innan nedsparning, vilket iofs fungerar men jag skulle hellre behålla mitt ursprungsfilnamn.

Någon borde ha stött på liknande problem och kan komma med något förslag ?

Comments

Liknande problem

ztyx's picture

Häromdagen laddade jag upp en fil innehållande #-tecknet till en issue på Drupal, men länken till den fungerade inte för att den inte kodade om #-tecknet. Jag rapporterade problemet i detta ärende på Drupal.org.

Jag har inte provat om min rapporterade bugg gäller för filuppladdningar i allmänhet (på vilken Drupal-installation som helst), men efter att ha läst om ditt problem, så låter det som att Upload-modulen inte kodar om filnamnen ordentligt och kanske är dessa två problem relaterade.

mvh Jens

EDIT: Det var en allmän bugg i Drupal. Ärendet är omplacerat till upload.core-modulen.

Förmodligen en "core" bugg

RTauson's picture

Gissningsvis är detta en core bugg, om man tittar på Transliteration så adresseras problemet som en core bugg.
Gjorde min implementation med transliteration , använder dessutom upload path så jag fick göra ett manuellt hack i den för att få stöd för "kreativa filnamn".

Lever nog med lösningen att döpa om filer och kataloger och "strippa" bort nationella tecken så länge.

Jag testade din bugg i

ztyx's picture

Jag testade din bugg i Drupal 6.4 och istället för att koda om filnamnet så byter den ut 'åäö.jpg' mot 'jpg.'. Länken på nod-sidan funkar men är ju rätt så förvrängd. Vilken version kör du?

Jag skickade också in en buggrapport på mitt fel. Den finnes här.

Hmmm får inte samma beteende

RTauson's picture

Jag får som jag skriver i original posten en utf-8 encodad sträng som filnamn.
Sitter på windows, drupal 6.4 och xampp.
Skumt att det skiljer sig, vad har du för operativ, databas och apache implementation ?
Har iofs en hel del moduler installerade i min dev miljö för tillfället.

Kollade in

frjo's picture

Kollade in http://drupal.org/node/278425 och problemet verkar uppstå ifall man inte har satt locale korrekt på sin server (eller utvecklingsmiljö i det här fallet).

Testade just att ladda upp filen "åäö.jpg" i Drupal 6.4 på min Mac, den sparas i mappen "files" som just "åäö.jpg". Länken till den är ".../files/åäö.jpg". Så fungerar det också på mina Linux-servrar men där kör jag ännu bara Drupal 5.

MAMP/Windows har kanske problem med att sätta locale eller så är det bara en inställning man behöver fixa.

Transliteration

zoo33's picture

Transliteration som RTauson nämner kan jag rekommendera för att slippa undan liknande problem. Även om man får ordning på serversidan så kan det vara skönt att inte behöva oroa sig för hur det fungerar ihop med olika klienter.

/ Hannes Lilljequist – SthlmConnection

Skulle tro att windows och xampp har med saken att göra

RTauson's picture

Hej !
Kan bekräfta att det hela fungerar bättre på en linux än en windows, om det är xampp:en eller windows som är problemet har jag inte riktigt fastställt ännu.
Vad jag förstår använder drupal utf-8 och Apache2 som default ISO-8859-1, vidare använder filsystemet i windows en tredje teckenuppsättning. Gissar att det någonstans "på vägen" till filsystemet blir nån missmatch.

Sweden

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: