Gathering of Tweakers

Quicksearch
Met de nieuwe website van mijn band hebben we 2 problemen.

Het gaat hier om een stuk flash, gemaakt door iemand anders, te noemen 'de flashman'.
Dit stukje flash communiceert met mijn database via PHP. Deze PHP heb ik zelf geschreven, en deze spuugt XML en HTML uit, afhankelijk van de vraag.

Nu heb ik 2 problemen, waar ik samen met de flashman niet lekker uit kom.

De website is te vinden op www.gamberro.net

Probleem 1
Op de pagina's "nieuws" en "contact" staat links bovenin een slideshow. De gebruikte foto's komen vanuit een XML, te weten deze XML. Deze XLM is gewoon een bestand dat 1-op-1 weggeschreven wordt via PHP.
PHP:

1
2
3
<?php
header("content-type: text/xml");
$fileContent = file_get_contents("../xml/galleryPhotos.xml");
echo $fileContent;
?>

Deze foto's doen het dus wel in Internet Explorer, maar niet in Firefox. Niet in FF2, maar ook niet in FF3. De XML is hetzelfde, en de flash ook.
De flashman dacht dat het aan de hosting lag, maar ik zou niet weten hoe.

Probleem 2
Op de "nieuws" pagina staan de titels van de nieuwsberichten (rechts onderin). Deze worden gegenereerd vanuit deze XML.
Als dan 1 bepaald item geselecteerd wordt, dan moet er ineens HTML uitgespuugd worden, en dat gebeurd via deze pagina.

Nu is er geen mogelijkheid waarop ik die speciale karakters (ö en ç bijvoorbeeld) goed in beeld krijg.
De database is UTF-8, en de encoding van de XML ook.
Als ik echter de XML encoding op ISO-8859-1 zet, dan staat het teken wel goed in de XML, in plaats van het huidige vraagteken. Hetzelfde geldt voor de HTML.

De HTML gaat ook fout, op het moment dat ik UTF-8 encode. Daar zit iets grondig mis.
PHP:

1
2
3
4
5
6
7
8
9
10
11
<?php
$query = mysql_query("SELECT *,
                                   DATE_FORMAT(date, '%d-%m-%Y') AS fdate 
                                   FROM news
                                   WHERE id = '$content'"
);
// Display one event in HTML
header('Content-Type: text/html; charset=utf-8');
while$row = mysql_fetch_assoc$query ))
{
  echo '<B>'.$row[fdate].': '.$row[title].'</B><br>
          <p>'
.str_replace('<br />''<br>'html_entity_decode($row[message])).'</p>';
}
?>

Toch denk ik dat mijn database ook UTF-8 is...

Iemand enig idee waar ik de oorzaak moet zoeken van deze problemen?

Pentax K10D+D-BG2 Grip | Pentax SMC DA 18-55mm f/3.5~5.6 AL | Tamron 70-300mm f/4.0-5.6 Di LD 1:2 Macro | Sigma 17-70mm F2.8-4.5 DC Macro | Metz Mecablitz 48 AF-1 | Lowepro Fastpack 350


Acties: [view][quote]


Door: Janoz Moderator PRG/SEA/DTE
!litemod
Berichten: 14.728
Reg. datum: 19 oktober 2000

Probleem 1
Hier kan eigenlijk weinig mis zijn met de php imho. Probeer eens het bestandje letterlijk op de server te zetten ipv via een php scriptje? Niet dat dat het oplost, maar om de flashman ervan te overtuigen dat het waarschijnlijk toch aan de flash ligt ;).

Ik vermoed dat het misschien wel komt door de manier waarop de foto's in flash opgehaald worden. Dat er misschien een url niet klopt oid.

Probleem 2
quote:
Toch denk ik dat mijn database ook UTF-8 is...
Dat is alvast een punt om te beginnen. Je moet niet 'denken', maar 'zeker weten' dat de database UTF8 is. Je pagina wordt namelijk wel aangegeven als een UTF8 pagina, maar de content is dat gewoon niet.

Janoz wijzigde dit bericht 09-07-2008 09:45 (7%)

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'

Ik heb een nieuwe tabel aangemaakt, alles op utf-8-unicode-ci gezet, en nog eens geprobeerd, maar het gaat gewoon echt niet goed...
Overal staat alles in utf-8-unicode-ci, ik zou echt niet weten wat ik nog meer aan moet passen.

Wat betreft dat XML bestandje, als hij het direct uit een bestand uitleest, dan moet ook de flash veranderen, dan heb je dus meerdere wijzigingen in 1 keer.

Pentax K10D+D-BG2 Grip | Pentax SMC DA 18-55mm f/3.5~5.6 AL | Tamron 70-300mm f/4.0-5.6 Di LD 1:2 Macro | Sigma 17-70mm F2.8-4.5 DC Macro | Metz Mecablitz 48 AF-1 | Lowepro Fastpack 350

Dan kan het alsnog bij het opslaan fout gaan. Als jij gewoon strings in andere encoding in je query zet, vind er geen automagische conversie plaats, etc. etc.

Talkin.nl daily photoblog
Day 948: Alpaca
Foto specs: Canon 300D, Tamron 17-50 f/2.8, 1/50s, f/6.3, ISO 100

Probleem 2 is opgelost
Via deze link kwam ik erachter dat je
SQL:
1
mysql_query("SET NAMES utf8");

moet gebruiken om er echt UTF-8 van te maken, omdat dat eigenlijk geen toffe encoding is voor MySQL ofzo...
Daarom geeft de code van een update via PHPMyAdmin ook bij elk element
SQL:
1
AND CONVERT`news`.`title` USING utf8 )

Het nadeel is nu wel dat alle tekst 1-op-1 in de database staat, dus geen html_entities enzovoort, want dat snapt flash niet. Het heeft niet mijn voorkeur, maar het werkt wel.

Nu probleem 1 nog!

Pentax K10D+D-BG2 Grip | Pentax SMC DA 18-55mm f/3.5~5.6 AL | Tamron 70-300mm f/4.0-5.6 Di LD 1:2 Macro | Sigma 17-70mm F2.8-4.5 DC Macro | Metz Mecablitz 48 AF-1 | Lowepro Fastpack 350

quote:
Dirtbiter schreef op woensdag 09 juli 2008 @ 10:14:
Het nadeel is nu wel dat alle tekst 1-op-1 in de database staat, dus geen html_entities enzovoort, want dat snapt flash niet.
Dat is een voordeel want je DB heeft niets met een mogelijke HTML output te maken. Escapen is context afhankelijk.

Talkin.nl daily photoblog
Day 948: Alpaca
Foto specs: Canon 300D, Tamron 17-50 f/2.8, 1/50s, f/6.3, ISO 100

wil muziek maken
Berichten: 23
Reg. datum: 16 november 2001

quote:
Janoz schreef op woensdag 09 juli 2008 @ 09:44:
Probleem 1
Hier kan eigenlijk weinig mis zijn met de php imho. Probeer eens het bestandje letterlijk op de server te zetten ipv via een php scriptje? Niet dat dat het oplost, maar om de flashman ervan te overtuigen dat het waarschijnlijk toch aan de flash ligt ;).

Ik vermoed dat het misschien wel komt door de manier waarop de foto's in flash opgehaald worden. Dat er misschien een url niet klopt oid.

[...]
Flashman hier, :) Het prachtige principe van flash is dat het verder niet uitmaakt via wat het bekeken wordt zolang het maar de flashplugin heeft/ondersteund. Oftewel flash maakt verder geen onderscheid in browsers hoe het de info/foto ophaalt. Overigens heb ik voor de zekerheid even een testje gedaan met een xml ipv php maar dat moet ook nog even op de hosting om zeker te zijn dat het daar niet aan zou liggen. Maar ik heb zo'n vermoeden dat er iets op die hosting de browser detecteert en er iets anders mee doet zodra de foto's opgevraagt worden. Het is een vermoeden, maar vaak kloppen die ook 8)

(overigens haalt flash de foto's gewoon op de juiste manier op de juiste locatie... media/pictures/fotonaam.jpg ... Lijkt me niet dat het daar aan zou liggen...)

(Zal overigens m'n info es aanpassen want het zou dieptriest zijn als ik op die computer nog zat te werken ;) )

lometje wijzigde dit bericht 09-07-2008 12:36 (6%)

Abit KT7A, Athlon 1200@1200, 128mb ->133, QDI Geforce4 440-SE 64DDR, 3com Netwerk 10/100mbit, WinTV/Wincast, Terratec 512i, Creative 24x2x4, Iomega ZIP IDE, WinXP.

Ondertussen staat de site dus op 2 plekken online (ook op www.jerokuhne.nl/v0 ) en daar werkt het wel.

Ik heb dus even een belletje naar mijn hoster gedaan, en zij gaan het uitzoeken.
Mocht iemand hier het al weten, schroom dan niet!

Pentax K10D+D-BG2 Grip | Pentax SMC DA 18-55mm f/3.5~5.6 AL | Tamron 70-300mm f/4.0-5.6 Di LD 1:2 Macro | Sigma 17-70mm F2.8-4.5 DC Macro | Metz Mecablitz 48 AF-1 | Lowepro Fastpack 350


Acties: [view][quote]


Door: XangadiX Moderator WEB/GFX
trepanatie is zóó kinderachtig

misschien even je chmod aanpassen?
ik zie in de liveheaders een aantal 403's voorbijkomen
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
http://www.gamberro.net/media/thumbs/1Draai.jpg

GET /media/thumbs/1Draai.jpg HTTP/1.1
Host: www.gamberro.net
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.15) Gecko/20080623 Firefox/2.0.0.15
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: en-US
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive

HTTP/1.x 403 Forbidden
Date: Wed, 09 Jul 2008 18:26:49 GMT
Server: Apache/1.3.39 (Unix) mod_auth_passthrough/1.8 mod_log_bytes/1.2 mod_bwlimited/1.4 PHP/4.4.7 FrontPage/5.0.2.2635.SR1.2 mod_ssl/2.8.29 OpenSSL/0.9.7e-p1
Keep-Alive: timeout=15, max=96
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html; charset=iso-8859-1

nu weet je iig waar je naar moet googlen

* XangadiX ziet 403 bij alle thumbs langskomen trouwens

Dus jij wil VJ worden, zo doe je dat: VjAcademy

Diepe zucht....

Het heeft dus te maken met mijn Hotlink protection.

Als ik die uitzet, werkt het als een zonnetje. Als ik die aanzet, werkt het niet.
Ik had wel alle mogelijke referrers in de lijst gezet, dus deze geeft toch een andere referrer mee ofzo...

Dat is wel vaag dat IE het dan wel doet...

edit:

Sterker nog: het gaat alleen om het vinkje "Allow direct requests (ie. entering the url to an image in your browser)
".
Als ik die aanzet, is het al goed. Blijkbaar gaat er ergens iets mis met de referrer...

Alleen nu liggen mijn directories verder open. Iemand een oplossing die beide doelen dient?

Dirtbiter wijzigde dit bericht 09-07-2008 23:02 (33%)

Pentax K10D+D-BG2 Grip | Pentax SMC DA 18-55mm f/3.5~5.6 AL | Tamron 70-300mm f/4.0-5.6 Di LD 1:2 Macro | Sigma 17-70mm F2.8-4.5 DC Macro | Metz Mecablitz 48 AF-1 | Lowepro Fastpack 350

offtopic:
Probeer je foto's altijd te uploaden in het exacte formaat waarin ze ook weergegeven worden. De meeste foto's zijn nu 468x350 px groot, terwijl ze slechts op een formaat van 325x244 getoond worden. Hierdoor moet de Flash-applicatie ze verkleinen en dat levert nogal lelijke kartelrandjes op.

ontopic:
Denk je echt dat veel mensen naar deze foto's zullen gaan hotlinken?

Arjen Tempel wijzigde dit bericht 09-07-2008 23:05 (12%)

 
Het gaat mij een beetje om het principe :)

Het is nu helemaal raar:
1. Hotlink protectie uit: Beide werken
2. Hotlink protectie aan: Werken allebei niet
3. Hotlink protectie aan met directe links toegestaan: IE niet, FF wel

Nu begrijp ik er niks meer van...

Pentax K10D+D-BG2 Grip | Pentax SMC DA 18-55mm f/3.5~5.6 AL | Tamron 70-300mm f/4.0-5.6 Di LD 1:2 Macro | Sigma 17-70mm F2.8-4.5 DC Macro | Metz Mecablitz 48 AF-1 | Lowepro Fastpack 350


Acties: [view][quote]


Door: XangadiX Moderator WEB/GFX
trepanatie is zóó kinderachtig

Flikker die maffe hotlink protectie dan van je server ;)
Overigens begint dit te lijken op "hoe configureer ik mijn server", wat niets te maken heeft met WEB of GFX

Dus jij wil VJ worden, zo doe je dat: VjAcademy



© 1998-2008 Tweakers.net BV - Based on React - Hosted by True - Served by Asclepius

© 1998-2008 Tweakers.net BV - Based on React - Hosted by True - Served by Asclepius

[RSS][XML]

Update Tracker

Active Topics
Active Topics
Frontpage Nieuws
Frontpage Nieuws