Det er et held, at det danske alfabet indeholder bogstaverne æ, ø og å. Ellers kunne vi hverken skrive eller sige Blåbærgrød. Anderledes forholder det sig, når det kommer til opsætningen af PHP og MySQL, så de også kan håndtere de 3 små klenodier uden at bruge/vise dem som krummelurer. Udgangspunktet for det efterfølgende vil være at UTF-8 bruges som karaktersæt. Navnet kan skrives med enten 'lower'- eller 'upper'-case. UPPER anbefales. Udfordringerne med opsætningen synes derefter at kunne opdeles i mindst 3 niveauer:
Det er selvfølgelig kun den 3die, der er tilfredsstillende. For at nå dertil er der en række punkter, hvor karaktersæt kan påvirkes: WebhotelSkal man afvikle sine data på et webhotel / anden ekstern leverandør, skal man som minimum sikre sig at UTF-8 anvendes for PHP / MySQL. Ellers bør man overveje at holde sig væk. WebserverI Apache kan der i httpd.conf åbnes for eller tilføjes: .htaccessI .htaccess kan indsættes (evt. som alternativ til i webserveren, men bør undgås) MySQLI MySQL tabeller kan æøå ligge som:
Der kan godt være 'forkerte' tegn i databasen selvom den er sat rigtigt op. MySQL synes meget åben for at modtage alt hvad den bliver præsenteret for - men det er ikke sikkert, at den kan bruge det. I databasen anvendes (via phpMyAdmin) følgeende opsætninger:
DBconnectFilen, der etablerer forbindelse til DB-serveren, skal indeholde de to funktioner $mysqli_query() og mysqli_set_charset():
$_POSTI forbindelse med indlæsning fra $_POST anvendes 'ENT_QUOTES' til at ændre en række tegn til '&...;'. Derved opnås at PHP ikke 'tager fejl'. .HTML-filI HEAD-delen af alle HTML-filer skal indsættes:
Det kan afhænge af den anvendte editor, hvilken af de to der skal benyttes. Se iøvrigt 'Notepad++' nedenfor. Notepad++Med Notepad++ kan kontrolleres, om den anvendte editor producerer 'det rette UTF-8 format':
Hvis konverteringen medfører at filen opdateres og skal gemmes, skal den øverste / lange version af meta-dataene anvendes. Når Notepad++ foretager konvertering, er det formentlig udtryk for, at filen har været kodet i et andet format end UTF-8 - formentligt 'UTF-8-BOM' også kaldet 'UTF-8N'. Ved anvendelse af NetBeans som editor synes det nødvendigt at anvende den 'lange' version af metadataene. Notepad++ foretager da ingen konvertering, og æøå fra HTML-tekst vises ikke som krummelurer. CSSCSS-filer bør på deres allerførste linie have anført:
Kompenserer for evt. manglende angivelse af meta-data i HTML-filernes HEAD-del. |