- Anders T
- Medlem ●
- Köping
Jag får en del zip-filer från en kund. När jag packar upp med Mac OS X inbyggda eller Stuffit Expander så blir de svenska tecknen fel.
Jag upptäckte för ett tag sedan ett nytt program kallat The Unarchiver. När jag packar upp med det programmet så får jag en fråga vilken teckentabell jag vill använda. Den står på Västerländsk (Windows Latin 1) som default men det ger samma resultat som övriga program. Ställer jag den på DOS så funkar det.
Det är ju bra att ha hittat en metod att läsa problemet med men min nyfikenhet undrar ändå varför det ser ut så här? Varför kan man inte byta zip med en Win XP-kund utan strul?
Tja, det korta svaret är att det är omöjligt att veta vilken teckentabell som ren text använder sig av, även om det finns program som gör mer eller mindre intelligenta gissningar.
ASCII och FTP och ÅÄÖ (tre bra sökord där) har diskuterats flera gånger tidigare - problemet grundar sig i datorernas absolut barndom och det är helt enkelt bara så. Det grundar sig i att för att lagra tecken så använder datorerna siffror som finns i en tabell, den sk ASCII-tabellen. Varje siffra motsvarar en bokstav i tabellen. Men nu är det så att Windows och Mac (och andra) inte har samma tabell - så därför blir åäö knas. 256 olika tecken är det vanliga (åtta bitar).
På senare tid används något som kallas encoding som i korthet är ungefär samma sak, bara det att det finns flera tecken och större tal för att lagra dem i tabellen, så man kan lagra flera olika tecken. 65535 är det vanliga (16 bitar).
Som Richard säger - program kan göra intelligenta gissningar, men det kan bli fel i alla fall. (Även avsändare kan påverka detta och tex koda det hela för mottagande plattform, men det kanske inte är helt lätt att få kunder att förstå?)
Vi har färdats rätt långt från datorernas barndom vid det här laget. Är det för mycket begärt 25 år senare att en zip-fil innehöll info om vilket program och plattform den skapats på så det expanderande programmet kunde göra lite mer intelligenta val?
Vi har färdats rätt långt från datorernas barndom vid det här laget. Är det för mycket begärt 25 år senare att en zip-fil innehöll info om vilket program och plattform den skapats på så det expanderande programmet kunde göra lite mer intelligenta val?
Tja, precis som de flesta andra är jag inget fan av att vara inne och pilla sönder väletablerade de facto-standarder, men man skulle ju alltid kunna lösa det genom att lägga in en dold fil med metadata (ungefär som Finder gör när man skapar ett zip-arkiv).
Zip-definitionen är väl antagligen begränsad och tillåter inte sån information. Eller så bryr sig bara amerikanska programvarutillverkare inte om konstiga utlänningar med en massa konstiga språk med konstiga tecken...
Jag *tror* däremot att till exempel Stuffit Deluxe, och dess sit-format inkluderar sån information, men jag har inte bekräftat det genom egna test, så jag kan ha fel
Det skulle aldrig falla mig in att använda några bokstäver i filnamn som inte finns i det engelska alfabetet. Detta gäller allt som har med Internet och annan distribution att göra. Jag önskar att denna grundläggande kunskap kunde spridas till alla. Jag använder förresten inte ryska, indiska eller arabiska bokstäver heller
Ja det är ju lätt att implementera en sån praxis för egen del, men faktum är att en majoritet av användare då och då använder klart olämpliga tecken i filnamn.
För övrigt anser jag att alla program som inte klarar Unicode suger och hoppas att de likt dinosaurier ersätt av nya och mer funktionella alternativ.
Min grundfråga har ingenting alls med internet att göra.
Jag hjälper en kund göra en katalog och de har sedan tidigare datablad som är producerade av deras inhouse-byrå. Skulle dom i förebyggande syfte undvika svenska namn på alla sina filer för tänk om det någon gång i framtiden ska användas av någon med en Mac?
Min grundfråga har ingenting alls med internet att göra.
Jag hjälper en kund göra en katalog och de har sedan tidigare datablad som är producerade av deras inhouse-byrå. Skulle dom i förebyggande syfte undvika svenska namn på alla sina filer för tänk om det någon gång i framtiden ska användas av någon med en Mac?
Jag skrev också "annan distribution". Nå - jag tycker också det är visset att åäö, arabiska och indiska inte funkar klockrent i den digitala världen, men jag har sen 15 år anpassat mig för att slippa problem och tro mig - jag har sluppit problem. Jag gör alltså som större delen av jordens befolkning; jag använder bara "engelska" bokstäver, bindestreck och understreck i ALLA filnamn jag kreerar.
Detta kan man givetvis inte vänta sig av alla, men det är ändå mitt stående tips till alla som professionellt håller på med datorflöden...och det är också standard hos många svenska företag. Det är inte bara Mac som kan få problem med åäö.
Jag kan försäkra dig om att det är en absolut minoritet av datoranvändare över världen som håller sig till "engelska tecken". För övrigt ställer en hel del även av dessa till olika typer av problem vid plattformsbyten.
Förr resonerade jag som mjg, men nuförtiden väljer jag allt oftare att bojkotta programvaror som inte klarar unicode.
Oavsett val av strategi måste man ändå räkna med att externa användare kommer att skicka material som inte stämmer med de egna riktlinjerna
Jag kan försäkra dig om att det är en absolut minoritet av datoranvändare över världen som håller sig till "engelska tecken". För övrigt ställer en hel del även av dessa till olika typer av problem vid plattformsbyten.
Jag talar alltså inte om att skriva brev i Word eller brödtext i webbsidor (jisses): jag talar om Internet, programmering, serversystem, filsystem och databaser. Där är välden anglosaxisk. Vare sig vi gillar det eller inte...och skulle det vara en minoritet som hackar detta med annat än engelska tecken så skulle världen stanna av på sekunden Tror du man skriver indiska i ovansående områden i indien? Jisses!
Som konsument kan du bojkotta vad du vill, men dom som arbetar professionellt med IT på ovanstående nivå kör det språk som gäller. Dom har annat att bekymra sig över.
Ursäkta om jag småler lite överseende, men det där var ett av de fånigaste inlägg jag läst på länge.
Jag är fullkomligt bergsäker på att jag har större erfarenhet och vet mer om hur grafisk bransch, som Anders är verksam i, fungerar
Och där är användare, till skillnad från programmerare, databasmänniskor etc (som ingen öht pratat om) som alltid namger filer med "bra" tecken en försvinnande liten minoritet.
Och då ska vi bara inte tala om hur det är med de uppdragsgivare, i form av vanliga företag, som grafisk bransch har - där är medvetenheten om sådant som teckenkodningsproblem totalt obefintlig.
Du får gärna följa med mig ut och prya när jag åker och jobbar hos några såna företag så får du ser
Jag talar alltså inte om att skriva brev i Word eller brödtext i webbsidor (jisses): jag talar om Internet, programmering, serversystem, filsystem och databaser. Där är välden anglosaxisk. Vare sig vi gillar det eller inte...och skulle det vara en minoritet som hackar detta med annat än engelska tecken så skulle världen stanna av på sekunden Tror du man skriver indiska i ovansående områden i indien? Jisses!
Som konsument kan du bojkotta vad du vill, men dom som arbetar professionellt med IT på ovanstående nivå kör det språk som gäller. Dom har annat att bekymra sig över.
Ursäkta om jag småler lite överseende, men det där var ett av de fånigaste inlägg jag läst på länge.
Jag är fullkomligt bergsäker på att jag har större erfarenhet och vet mer om hur grafisk bransch, som Anders är verksam i, fungerar
Och där är användare, till skillnad från programmerare, databasmänniskor etc (som ingen öht pratat om) som alltid namger filer med "bra" tecken en försvinnande liten minoritet.
Och då ska vi bara inte tala om hur det är med de uppdragsgivare, i form av vanliga företag, som grafisk bransch har - där är medvetenheten om sådant som teckenkodningsproblem totalt obefintlig.
Du får gärna följa med mig ut och prya när jag åker och jobbar hos några såna företag så får du ser
Var väl dock inte någon grafisk bransch han nämnde?
Kan mycket väl tänka mig att försöka konfigurera Apache med ÅÄÖ eller andra "skumma" tecken i sökvägar eller dylikt. kommer att gå åt helsefyr Samma med PHP, MySQL och dylikt. Använda ÅÄÖ i variabler etc. i PHP är väl inte heller direkt att rekommendera? (Inte säker dock, kanske fungerar). Hur är det med C++, C#? Programmering är jag väldigt vilsen i.
Pekar finger åt fel håll?
Anders Täpp - min åsikt är att du kanske pekar fingret åt fel håll och säger att det är Macen det är fel på? Jag förstår att man kan dra den slutsatsen. För vad man ser är att det fungerar på pc men när filen dyker upp på en mac så blir det fel. Alltså tror man att det är macen som inte "gör rätt". Så är det alltså inte, på PC-sidan kan man säga att alla gör samma fel och då fungerar det och när filen hamnar i en mac som gör rätt så blir det fel.
På samma sätt som många kodar HTML i Notepad på PC och lägger upp dessa filer på internet med åäö i dem, så blir det fel när någon med ett annat operativ tittar på dem. Återigen tycker man lätt att "det funkar ju på PC - det är Macen som är krånglig", fast felet är att man använder tecken man inte får använda enligt HTML-standarden.
Samma med filnamn på FTP och webbservrar - på PC skriver man dessa med åäö och det verkar fungera fint på PC, men då tecknen man använt inte är med i standarden för FTP eller HTTP så blir det fel när något annat operativ som gör rätt tittar på dem.
En analogi är två dörrar det står IN och UT på, om alla går UT genom dörren det står IN på (och därmed gör fel) så fungerar det ju i alla fall, men det betyder inte att det är rätt.
Vad jag menar är följande: Vi lever i en imperfekt värld och det monumentalt korkade beslutet i datorernas barndom att helt enkelt strunta i att det kanske i framtiden finns människor som vill skriva saker på datorer som INTE bor i USA och har konstiga bokstäver, vars konsekvens är att åäö blir knas ibland, får vi leva med i flera decennier till skulle jag tro. För om det inte är löst till 100% på tre decennier så lär det inte lösas på ett par till.
Lösning 1: Använd inte åäö
Men jag är också säker på att en bra lösning är att du utbildar din kund i att jobba annorlunda. Jag håller med mjg ovan att det är liksom fullständigt självklart att då man döper filer som någon gång eventuellt skall lämna min egen dator och flyttas till andra datorer (oavsett om det är mac, pc eller annat) eller levereras över internet, så använder man helt automatiskt aldrig åäö och andra krumelurer i filnamn. Man behöver inte köra 8+3 längre, men längre än 31 tkn totalt skulle jag inte gå. Det är en vana att göra så helt enkelt och det är under en överskådligt framtid en bra vana också och varenda kotte som producerar material som skall åka någon annanstans borde göra likadant, just för att det skall fungera, din kund också.
Lösning 2: Använd andra program att packa filen med
Det andra är att det finns flera program för att packa filer i ZIP-format och det är de äldsta av dessa som inte fattar att åäö blir knas. Tex StuffIt som finns för PC och Mac förstår åäö-problematiken mellan plattformar och gör rätt. Använder man det på PC-sidan istället eller egentligen vilket som helst modernt program för att packa filer, så fungerar säkerligen åäö i dessa. Det kan det det väl vara värt att investera i för er båda eller vill kunden ha en faktura som innehåller en timme med rätta filnamn för varenda jobb de skickar?
Från: http://www.stuffit.com/compression/sitvszipdifference.html
StuffIt vs. Zip Compression
"With StuffIt, you'll not only create and send the smallest archives, but you'll ensure that the integrity of your data is intact and readable to the recipient. The StuffIt file format (.sit) protects file attribute information for both PC and Mac files, and because it's Unicode compliant, files that are named with non-roman and 2-byte characters will be successfully preserved when you expand them. Your data is important, so why trust it with any other compression utility? Just StuffIt."
Det finns säkert ZIP-program som har tänkt på detta också, kolla på http://www.versiontracker.com/ och sök på tex unicode och ftp på fliken Windows.
Edit: Meningsbyggnad och radera snömos...
Pekar finger åt fel håll?
Anders Täpp - min åsikt är att du kanske pekar fingret åt fel håll...
Bra sammanfattat Taz.
Valet mellan att lära upp 2-3 personen hos kunden att börja zippa med annan programvara kontra att jag packar upp med The Unarchiver blir det senare. Jag får nöja mig med det för stunden och ser kommande datordecennier an med tillförsikt.
Pekar finger åt fel håll?
På samma sätt som många kodar HTML i Notepad på PC och lägger upp dessa filer på internet med åäö i dem, så blir det fel när någon med ett annat operativ tittar på dem. Återigen tycker man lätt att "det funkar ju på PC - det är Macen som är krånglig", fast felet är att man använder tecken man inte får använda enligt HTML-standarden.
Stämmer inte riktigt, du får visst använda Å, Ä och Ö enligt HTML, bara du deklarerar vilken teckenkodning du kör med, skall göras i headertaggen med något dylikt:
< meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
Där charset visar vilken teckenkodning du använder på din hemsida, i ovanstående exempel UTF-8.
Samma med filnamn på FTP och webbservrar - på PC skriver man dessa med åäö och det verkar fungera fint på PC, men då tecknen man använt inte är med i standarden för FTP eller HTTP så blir det fel när något annat operativ som gör rätt tittar på dem.
Samma problem här egentligen, bara man sköter sin teckenkodning skall det inte vara något problem, alltså konfigurera FTP-klient och -server korrekt.
Lösning 1: Använd inte åäö
Men jag är också säker på att en bra lösning är att du utbildar din kund i att jobba annorlunda. Jag håller med mjg ovan att det är liksom fullständigt självklart att då man döper filer som någon gång eventuellt skall lämna min egen dator och flyttas till andra datorer (oavsett om det är mac, pc eller annat) eller levereras över internet, så använder man helt automatiskt aldrig åäö och andra krumelurer i filnamn. Man behöver inte köra 8+3 längre, men längre än 31 tkn totalt skulle jag inte gå. Det är en vana att göra så helt enkelt och det är under en överskådligt framtid en bra vana också och varenda kotte som producerar material som skall åka någon annanstans borde göra likadant, just för att det skall fungera, din kund också.
Väldigt dålig lösning, är ändå 2006, lär kunden det korrekta sättet istället för att undvika saker öht.
Ibis - jo jag vet att man kan ha åäö i HTML, om man deklarerar vilken teckenuppsättning det är. Jag ser nu att i mitt inlägg har jag formulerat mig på så sätt att det verkar som om man inte kan det. Det var inte det jag menade när jag försökte berätta om verkligheten, som är just att PC-nissar kodar HTML i Notepad och inte deklarar encoding och använder åäö och så blir det fel bara på Mac och så drar man slutsatsen att det är Mac det är fel på. Har jag formulerat mig tydligare nu så att vi är överens?
Men menar du på fullt allvar att det är en bra ide att använda åäö i filnamn på FTP-servrar och HTTP-servrar "bara man sköter sin teckenkodning"?
Ibis - jo jag vet att man kan ha åäö i HTML, om man deklarerar vilken teckenuppsättning det är. Jag ser nu att i mitt inlägg har jag formulerat mig på så sätt att det verkar som om man inte kan det. Det var inte det jag menade när jag försökte berätta om verkligheten, som är just att PC-nissar kodar HTML i Notepad och inte deklarar encoding och använder åäö och så blir det fel bara på Mac och så drar man slutsatsen att det är Mac det är fel på. Har jag formulerat mig tydligare nu så att vi är överens?
Men menar du på fullt allvar att det är en bra ide att använda åäö i filnamn på FTP-servrar och HTTP-servrar "bara man sköter sin teckenkodning"?
Ingen riktig webbdesigner kodar hemsidor i Notepad Samt även om de gjorde det, bara de har med doctype och deklarerar vilken teckenkodning de kör så är jag nöjd. Men brrr, koda utan syntax highlighting :S Nästan misshandel. Men mjo, vi är överrens Samma händer ju dock om man kör åt andra hållet, kodar i TextEdit på Mac och skickar till PC, så är ju inget problem med PC-nissar i sig, utan folk som inte tänker efter. Aja, går ju alltid att använda en vettig editor på endera sidan där man själv kan välja vilken teckenkodning man vill ladda dokumentet i, problem löst. Var mest bara emot lösningen att be andra sluta använda ÅÄÖ, när det finns bättre lösningar.
Tja, ja? :S Iofs. ingen egentlig erfarenhet av att ha dylika filer nedladdade av folk i USA etc, men jag kör UTF-8 överallt på min server, i FTP, i Apache, i Wordpress och i MySQL-databasen. Ansluter folk till min FTP med en vettig klient som klarar av att känna igen teckenkodningen så ser jag inte att de kan få något problem?
Lika lätt som jag kan se kyrilliska alfabetet om jag surfar in på en sådan sida borde väl människor i andra länder kunna se ÅÄÖ? Förutsatt att min webbläsare tolkar in rätt teckenkodning.
Mycket riktigt så är UTF-8 allra bäst att använda i de allra flesta situationerna, så kan man välja, kör på det.
Igår hittade jag denna roliga artikle om Encoding då jag letade efter lösningar på ett encoding-problem i Applescript, den heter:
"The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)"
http://www.joelonsoftware.com/articles/Unicode.html
Den förklarar på ett mycket bra sätt vad vi verkar kunna nu som deltagit i denna tråd vad ASCII är från datorernas barndom, den inte helt fiffiga lösningen på problemet med knasiga tecken i olika språk som fick namnet code pages och sedan hur man ville lösa detta genom unicode och därefter vilka varianter som unicode har och varför och slutligen rekommendationen att använda UTF-8 - det funkar.
Artikeln är skriven av Joel Spolsky som skriver i sin blogg "Joel on software" olika artiklar relaterade till programvarutveckling, denna artikel riktar sig till utvecklare men är inte teknisk för det. Kul är den!
Mycket riktigt så är UTF-8 allra bäst att använda i de allra flesta situationerna, så kan man välja, kör på det.
Igår hittade jag denna roliga artikle om Encoding då jag letade efter lösningar på ett encoding-problem i Applescript, den heter:
"The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)"
http://www.joelonsoftware.com/articles/Unicode.html
Den förklarar på ett mycket bra sätt vad vi verkar kunna nu som deltagit i denna tråd vad ASCII är från datorernas barndom, den inte helt fiffiga lösningen på problemet med knasiga tecken i olika språk som fick namnet code pages och sedan hur man ville lösa detta genom unicode och därefter vilka varianter som unicode har och varför och slutligen rekommendationen att använda UTF-8 - det funkar.
Artikeln är skriven av Joel Spolsky som skriver i sin blogg "Joel on software" olika artiklar relaterade till programvarutveckling, denna artikel riktar sig till utvecklare men är inte teknisk för det. Kul är den!
Ah, man tackar! Verkar vara intressant läsning, kikar på det på en gång