Inleiding

Doelgroep
Voor iedere PHP-er die wel eens problemen heeft met 'vreemde tekens' of diakritische tekens in de data, na het lezen van deze tutorial begrijp je waar en waarom het misgaat, en wat je er aan kunt doen. Problemen verdwijnen als sneeuw voor de zon.
Ook biedt het inzicht in de materie voor ervarener PHP-ers.

Onderwerp
Soms werken pluspunten van PHP tegen je. PHP is laagdrempelig en een programmeur hoeft niet te veel na te denken over de verschillende typen data in PHP, omdat er automatische conversie plaatsvindt (typecasting). Een variabele is niet gebonden aan een vast datatype, maar kan van datatype veranderen tijdens het uitvoeren van het PHP-script. PHP is een zogeheten weakly typed-programmeertaal.
Waar programmeurs zich niet altijd van bewust zijn, is dat ook alle tekst (strings) een eigen data-type (encoding) heeft. En PHP houdt daar geen rekening mee. Er vindt geen automatische conversie (transcoding) plaats tussen de encodings. De programmeur moet dit zelf doen.

Noodzaak
Het niet of verkeerd transcoderen van encodings leidt tot het corrupt raken van data en soms ook van programmatuur. Verschilende functies en exenties van PHP werken anders bij verschillende encodings. Hoewel de meestgebruikte functies binnen PHP niet geschikt zijn voor Unicode, is Unicode vanaf PHP 5.6 de standaard-encoding. Deze plotselinge overgang kan voor verwarring zorgen.
De standaard-encoding van het web (HTML5 en JavaScript) is tevens Unicode. Om goede programma's te kunnen schrijven is kennis van transcoding tussen encodings nodig.

Checklist
Voor nieuwe en bestaande applicaties is er een uitgewerkte checklist die helpt om vreemde tekens te voorkomen. De lijst is door de auteur door de tijd heen verzameld van verschillende sites en blogs, en toegepast in verschillende praktijksituaties.

Jargon
In de tutorial wordt het nodige aan jargon gebruikt, dat schuingedrukt wordt weergegeven. Kennis daarover wordt veronderstelt. Alle termen zijn na te zoeken op het web.

« Lees de omschrijving en reacties

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.