Blog
UTF-8 en Eclipse PDT
Al langere tijd zat ik te sukkelen met UTF-8-coderingen.
Het grote probleem is, echt alles moet juist staan om er gebruik van te kunnen maken.
Om te beginnen moet je server dit al ondersteunen. Tijdens de ontwikkeling heb je hier nog een beetje de hand in, maar in productie moet je meestal hopen op de goodwill van je provider. Gelukkig voorzien de meeste providers tegenwoordig wel in deze ondersteuning.
Daarnaast moet ook je database dit ondersteunen. Zelfde verhaal als hier boven.
De browser van je website-bezoeker moet deze ook ondersteunen. Hier heb je helemaal niets in de pap te brokkelen. Ook hier weer gebruiken de meeste bezoekers een recente webbrowser, waardoor dit geen probleem mag zijn.
Grootste probleem: het gebruik van speciale tekens in zuivere tekstbestanden. Zodra je een speciaal teken, zoals é of $ gebruikt in je bestand, moet dit correct gecorrigeerd worden.
PHP voorziet hierin met de functie htmlentities(). Deze functie kan echter maar goed werken als ook je teken zelf goed opgeslagen is. Je editor speelt hierin een grote rol.
In Eclipse PDT ga je als volgt te werk om je project over te schakelen::
- rechtsklik op de naam van je project en kies 'properties'
- text file encoding moet staan op UTF-8, eventueel 'inherited from container' indien deze al goed staat.
Nog beter is om je volledige editor om te schakelen. Alle bestaande, en nieuwe, projecten worden omgezet naar UTF-8:
- Open de voorkeuren (preferences) van Eclipse
- In General - Workspace - Text File Encoding stel je in op UTF-8
Let er wel op, alle tekens die al in je project stonden, worden automatisch (wellicht verkeerd) geconverteerd naar UTF-8. Zoek dus deze speciale tekens op, en geef de correcte waarde op.
Alle zuivere teksten zijn nu ook klaar om als UTF-8 behandeld te worden.
Zend Framework maakt trouwens standaard gebruik van UTF-8
