Mijn webbased MSN messenger begint al behoorlijk concrete vormen aan te nemen (beta test is gestart
), maar bij sommige beta-testers crashed de web-app.
De oorzaak was al redelijk snel gevonden; sommige display-names van contacts in de buddy-list zijn uit vreemde karakters opgemaakt. Een voorbeeld :

De MSN server geeft de gegevens van het contact hierboven in urlencoded ASCII, als volgt :
De data is als volgt opgebouwd:
<grouplist> wordt in bepaalde gevallen niet meegegeven.
De parameters in de data die de MSN server stuurt zij altijd gescheiden door spaties. Deze data wordt d.m.v een string.split functie opgesplitst, en verder verwerkt. Spaties in een display name worden dan ook altijd netjes vervangen door %20 (urlencode).
Nu blijkt dus dat in de bovengenoemde display-name wel spaties staan, veroorzaakt door de "niet-ASCII" tekens. Ik kan dus niet meer splitten op spaties.
Ook kan ik niet meer bepalen waar <groupID> en <groupList> beginnen.
Een volgens probleem is dat ik graag in de webinterface de display-name van de contact wil layten zien zoals het hoort. Hoe krijg ik die url-encoded ASCII data omgezet naar die "vreemde tekens"?
Wie heeft er een tip om dit op te lossen?? Alvast heel veel dank!
De oorzaak was al redelijk snel gevonden; sommige display-names van contacts in de buddy-list zijn uit vreemde karakters opgemaakt. Een voorbeeld :

De MSN server geeft de gegevens van het contact hierboven in urlencoded ASCII, als volgt :
code:
1
2
3
| LST xxxxxx@hotmail.com B%C8C9%20CC%C%20B'C$C?%20C/m%20CB.C"zC?-&%20CC CC?%20ThC T%20C-B'%20TB.C9C *-C/m%20C'B.CzB%%20CCCCT%201%20ThC/Cg-&%20 CC$CC?%20ThC t%20C/B'%20B%C3C9... 11 0 |
De data is als volgt opgebouwd:
code:
1
| <command> <passport> <display-name> <groupID> (<grouplist>) |
<grouplist> wordt in bepaalde gevallen niet meegegeven.
De parameters in de data die de MSN server stuurt zij altijd gescheiden door spaties. Deze data wordt d.m.v een string.split functie opgesplitst, en verder verwerkt. Spaties in een display name worden dan ook altijd netjes vervangen door %20 (urlencode).
Nu blijkt dus dat in de bovengenoemde display-name wel spaties staan, veroorzaakt door de "niet-ASCII" tekens. Ik kan dus niet meer splitten op spaties.
Ook kan ik niet meer bepalen waar <groupID> en <groupList> beginnen.
Een volgens probleem is dat ik graag in de webinterface de display-name van de contact wil layten zien zoals het hoort. Hoe krijg ik die url-encoded ASCII data omgezet naar die "vreemde tekens"?
Wie heeft er een tip om dit op te lossen?? Alvast heel veel dank!
[ Voor 18% gewijzigd door Verwijderd op 20-05-2004 23:29 ]