Denna delen av 99 uppdateras inte längre utan har arkiverats inför framtiden som ett museum.
Här kan du läsa mer om varför.
Mac-nyheter hittar du på Macradion.com och forumet hittar du via Applebubblan.
Gabriel Falkenberg
  • Plats Stockholm
  • Registrerad 2001-05-17
  • Senast aktiv 2013-03-27
  • Antal inlägg 559

Foruminlägg

De senaste inläggen Gabriel Falkenberg har skrivit i forumet.

OBS!!! jag lyckades lösa problemet bara så ni vet Se tredje inlägget för lösningen

Hej allesammans, jag håller på att programmera java servlets men kan inte få de genererade hemsidorna att visas korrekt. Jag vill använda unicode överallt så att man slipper alla ö eftersom det dels sparar plats men framförallt gör saker och ting enklare eftersom man slipper tänka på konverteringar hit och dit. Enklare om det fungerar vill säga.

Som det är nu har jag reducerat allt till en enda servlet. Det enda servleten gör är att skriva ut en liten hemsida med några svenska tecken. Själva java-filen är sparad i UTF-8, alla objekt i java-koden är satta att arbeta med UTF-8. Tomcat är satt att arbeta med UTF-8 (CATALINA_OPTS=-Dfile.encoding=UTF-8) och själva html-koden innehåller meta-elementet som säger att sidan är kodad i UTF-8. Det görs inga databasanrop eller något liknande, allt är ren java och allt är ren UTF-8 men ändå så blir det inte rätt. Texten som skrivs ut är √•√§√∂ Det lustiga är att om man väljer att tolka den strängen som unicode från macroman dvs. man tar √•√§√∂ från macroman till unicode inte genom att konvertera utan genom att reinterpretera strängen så får man just åäö.

Om man kollar på klass-filen som bildas då man kompilerar kan man se alla konstanta strängar och man kan där konstatera att det verkar som om följande skett: Först har UTF-8 koden i java filen tolkats som macroman, sedan har den konverterats till UTF-8 för att sedan tolkats som macroman igen. När man kollar på servletens output så har det andra steget reverserats dvs. macroman har tolkats som UTF-8 men bara en gång så man får ändå inte se åäö.

Jag har bifogat en zip-fil med mitt test-projekt. Det är en ensam servlet, ett ant-script, en web.xml fil och ett antal mappar. Förutsatt att du har ant installerat är det bara att skriva ant war för att skapa en war fil i dist-katalogen. Har du dessutom tomcat installerat kan du öppna build.xml och ändra några property-element så kan du skriva ant install för att installera servleten under /sample du behöver dock ha en viss jar-fil med extra tasks till ant för att det ska gå.

Det blev ett ganska långt inlägg men men... Jag hoppas verkligen någon vet hur man gör för jag tycker jag testat allt och kan inte hitta någon vettig information genom googling (ingen som fungerar hur som helst). Jag har dessutom prövat att köra servleten i Jetty med exakt samma resultat.

Senast redigerat 2004-05-26 02:52

Jag tycker det låter bra att man ska kunna ställa in hur länkar skall hanteras. Jag hör till dem som vill att alla länkar skall öppnas i samma fönster så att jag lätt kan välja hur de ska komma upp (i samma fönster, i en flik, i ett nytt fönster) så som jag gör på i princip alla andra sidor.

Jag har för mig att det inte går att göra utan att använda statiska metoder (och eventuellt också singleton). Se till exempel:

http://www.duke.edu/~stetten/GlutMaster/GlutMaster.html

och

Google Group

Tänkte bara rekommendera typsnittet Profont. Det är ett snyggt typsnitt (monospaced) som fungerar mycket bra i små storlekar. Det finns att ladda ned här: http://hyperarchive.lcs.mit.edu/HyperArchive/Archive/font/pro-font-22.hqx

Vad använder ni andra för typsnitt när ni programmerar?

Ursprungligen av ivar:

Nej och usch åter nej.. fy fasiken vad trött jag är på css och layout..
inte en enda webbläsare vill ju visa sidan likadant som en annan...
Om du kan visa kod som skulle se likadant ut i explorer (mac/pc) och safari och mozilla så kan jag använda den men i övrigt så har jag typ lagt ner CSS för de viktiga sidor jag gör

Ja det kanske är lite drastiskt att göra om allt till div-taggar och css men faktum är att många av de tabeller du använder är onödiga och tar man bort dem så fungerar sidan i Safari (har prövat). Så som sidan ser ut så behöver du inte ha en enda tabell i en annan tabell (eventuellt med undantag för pistolen) utan kan nöja dig med att ha ett gäng tabeller en efter en annan.

Du använder samma style-kod för varje meddelande och andra element, lägg det i olika css-classes istället.

Jag vet i och för sig inte om du vill att sidan ska fungera med typ Netscape 4 men de ändringarna ovan borde fungera med samtliga moderna webbläsare utan problem och så tar koden ungefär 40% mindre plats och det är ju alltid bra.

Ja, kör sidan genom en validator som thomasti rekommenderar och ersätt tabellerna med div-taggar, så som sidan ser ut skulle du kunna halvera mängden html-kod (eller kanske mer). Gör varje ruta till en div-tagg med en viss css-klass så slipper du ha style-taggar i html-koden.

En validator kan du hitta här:
http://validator.w3.org/

Om man skriver ett snabbsvar och sedan trycker "Avancerat läge" står det "Submit Message" på knappen under Preview.

Under kontrollpanelen när man vill ändra sin profil är det en hel del fält som är obligatoriska men som står som frivilliga.

Har prenumererat på den förut och då gick betalningen helt ok. Betalade via ett ställe som heter developer depot har jag för mig. Ok tidning med bra artiklar men då jag prenumererade var det inte nog med Cocoa fast det tror jag har ändrat på sig det var ju trots allt något år sedan.

Shipped för mig också, äntligen!

Jag stänger och öppnar uppkopplingen för varje anrop, har för mig att jag läst att det är lika bra eftersom tiden att koppla upp sig är väldigt liten och man inte vill "låsa upp" databasen som kanske har ett begränsat antal samtidiga uppkopplingar.

Hur man inkluderar filer och så kan man göra lite hur som helst, huvudsaken är nog att lösenord och övriga uppkopplingsuppgifter sparas på ett enda ställe så man slipper gå igenom alla filer då man byter databasserver.

Jag använder mig av ett databasabstraktionslager som heter ADODB http://php.weblogs.com/ADODB som gör att alla databaser (mysql, mssql, oracle, postgresql) får ett enheligt användande så att när man senare vill byta databas så kan man göra det utan att skriva om någon kod.

Sedan har jag i en fil med användbara funktioner som heter functions.php som varje huvud-php-fil inkluderar med require_once('sökvägtill/functions.php'); Bland funktionerna finns en som heter makeDatabaseConnection(); som returnerar en öppen ADODB-koppling som sedan används där den ska och sedan stängs.

För det mesta så kapslar jag in alla databaskommandon så att de returnerar arrayer av objekt som jag själv skapat istället för att returnera ett vanligt databas-resultset ända upp till GUIt.

Så för att sammanfatta:

spara bilder som de är, utan text-filer i mappar på servern. Ladda upp bilderna via ftp (snabbt och enligt mig smidigt). Varje bild har en tillhörande post i databasen (den primära nyckeln kan vara mapp/filnamn.xxx). Album kan vara ett per mapp (användaren behöver inte lägga upp album manuellt) eller så kan de vara manuellt utvalda bilder från alla mappar eller både och dvs. alla mappar får egna album plus att folk kan plocka ihop egna.

Det verkar som om de flesta som prövat rekommenderar emot att lagra hela bilder i databasen även om det är möjligt och inte alls särskilt svårt. Tydligen ska prestandan inte vara något att hurra för när man gör så.

Angående att ladda upp via ftp och att det skulle vara icke användarvänligt så kan man fråga sig om det är användarvänligt att låta folk ladda upp bilder via ett segt-webb-gui där man inte får någon vettig feedback på hur lång tid det är kvar och där man antingen måste ladda upp en bild i taget (eller i alla fall välja dem en i taget) eller kräva att användaren ska zippa dem först till ett enda arkiv som packas upp på servern med alla problem det innebär.

Jag skulle välja ftp-lösningen där man skapar en mapp med ett namn ÅÅÅÅ-MM-DD eller vad du väljer att kalla dem. Där laddar man sedan upp sina bilder som kan heta vad som helst så länge namnen är unika i den mappen. Sedan kombineras detta med ett skript som kolla bland mapparna och hittar de som lagts till sedan sist. De mappar som lagts till gås igenom och alla bilder däri får var sin post i en databastabell med information som namn (kan automatiskt sättas till filnamnet minus filändelse om du vill men ska inte, tycker jag, behöva vara filnamnet), sökväg plus eventuell meta-information du vill ha till varje bild, typ vem tog bilden, vilka är på bilden om den typen av information är nödvändig.

När varje ny bild fått en post i databasen presenteras dessa för användaren som kan skriva in information om bilderna (om det nu behövs).

Sedan kan du egentligen välja själv hur albumen ska se ut, de kan antingen vara ett album per mapp eller så kan du välja bilder fritt från alla mappar och presentera som ett album, eftersom referenser till bilderna sparas i databasen är inte det ett problem.

Du skulle kunna ha en tabell som heter Album, en som heter Bilder och en relationstabell (många till många) som knyter dem samman.

Angående att göra thumbnails så kan skriptet som först samlar in alla nya bilder göra dessa kanske. Det är upp till dig. Med servlets skulle du kunna ha det som en bakgrundsprocess som gör thumbnails medan användaren skriver in information om bilderna i PHP blir det svårare (om du inte gör en "fullösning" med frames).

Lycka till!

För att få reda på eventuella skillnader i hur php är konfigurerat så gör en php-sida som bara innehåller koden:

<?

phpinfo();

?>

så får du se en detaljerad beskrivning över hur php är konfigurerat. Jämför hur det ser ut på din hem-maskin och servern så kanske du hittar vad som skiljer dem åt.

Jag rekommenderar liksom Steve_E att du går till en butik och "känner lite" på datorerna. Förutom Macoteket som ligger på birgerjarlsgatan strax bredvid Zita så ligger inlife på sveavägen snett mitt emot kreatima. Ungefär mitt emot åhlens så ligger en PC-superstore där de har några macar också fast inte lika många modeller som inlife och macoteket.