In mijn simpele denkwijze is een php bestand niets anders dan een simpele text bestand.
Waarom maakt het dan uit of ik een bestand als ANSI of als UTF-8 opsla.
Vanwaar deze vraag.
Sinds de update van Rapid PHP2015 naar de 2016 versie werkte een script niet meer. Ik kreeg een foutmelding op regel 1 met (<?PHP) als tekst, natuurlijk zonder de ().
Na een middag zoeken en proberen en vergelijken met een werkend script zag ik onin de status bij wisseling van script in de editor ANSI veranderen in UTF-8
Nadat ik het script als ANSI bewarde werkte de boel.
Maar een tekst bestand is toch een plat-bestand??
Het maakt niet zozeer uit hoe je het bestand opslaat maar hoe je deze vervolgens serveert (meestal als een HTML-document waarin een charset gedefinieerd zou moeten zijn) en of er speciale karakters in zitten die de standaard ASCII reeks ontstijgen. Die karakters hebben verschillende encoderingen afhankelijk van hoe je e.e.a. opslaat.
Je huidige vraag is te algemeen. Geef een voorbeeld van code of een situatie waarin dit voor problemen zorgt.
Harry geeft niet aan wat de foutmelding of het fenomeen was bij 'niet werken", maar eigenlijk kan ik maar 2 dingen bedenken.
1) ofwel staat er tekst in de file die plotseling "raar" uitziet.
<?php echo 'Eén tëxt öf ßo'; ?> waarbij de niet standaard letters plots verdubbelen tot 2 nog raardere tekens.
2) ofwel werken redirects, cookies of sessions niet meer door een headers-already-sent error, veroorzaakt door de BOM: het teken dat vooraan in een unicode file _kan_ staan om de Byte Order te Markeren.