Top
Phpuniverset logo
 

INDHOLD

Forside

Job annoncer

Tips og Tricks

Konkurrence

Downloads

Dokumenter

PHP bog shop

Forum

Online udviklere


ARTIKLER

CSS

Diverse

E-handel / annoncer

Grafik

Html

Internet

Javascript

Linux

PHP/MySQL

Programmer

Flash

Søgemaskiner

Windows

C / C++


INFO

Information

Annoncering

Kontakt

Når ÆØÅ bliver til ???

Forside Kategori PHP/MySQL Når ÆØÅ bliver til ???




 

Nu har jeg efterhånden haft dette problem nogle gange – det, der skulle være danske tegn, er blevet lavet om underligt krimskrams eller spørgsmålstegn. I det følgende er punkt 1 og 2 et sprøjtemiddel mod krimskrams, mens punkt 3 handler hormonmiddel mod spørgsmålstegn.

1.
Fortæl browseren hvilket tegnsæt, der er benyttet, ved at sætte det følgende ind som den første meta-tag i html hovedet:

<meta http-equiv="Content-Type" content="text/html;  charset=UTF-8" />

Tegnsættet UTF-8 kan, i modsætning til f.eks. mangfoldigheden af ISO-tegnsæt bruges til alle abc-alfabeter - med andre ord dækker samme tegnsæt både dansk og russisk.

2.
Når du nu har sagt til browseren, at du bruger UTF-8 (eller hvad du nu har fortalt den), så skal du jo så også gøre som du har sagt... Indkodningen af dine scripts og html-sider skal også være UTF-8. Hver eneste lille snoldede include skal være lavet i UTF-8 - css, php, inc, htm, html, txt. ALT skal være kodet i samme tegnsæt. Også den fjollede lille footer, som du bare har skrevet ”muuh” i (den var til mig selv *suk*).

Hvordan gør man så det?

I Notepad++, som er den script editor, jeg bruger (den er freeware), er der et ”encoding”-menupunkt med mulighed for at konvertere et åbent dokument til UTF-8. Jeg vil tro, at noget tilsvarende findes i alle script-editors. Måske du bliver tilbudt et valg mellem UTF-8 med BOM og UTF-8 uden BOM. Vælg den uden BOM. Jeg ved ikke rigtig, hvad BOM laver - kun at BOM kan lave problemer. Jeg plejer at åbne alle sitets dele på én gang, og lukke dem efterhånden som jeg får dem tjekket/konverteret.

Det var tegnsættet.

3.
Så er der PHP.

Prøv den her bandit:
<?php   echo  ’Her er æøå:  ’.strtolower(’ÆØÅ’);    ?>

I min browser bliver æøå til spørgsmålstegn - også når hele sitet (inklusive ”muuh”) er UTFfet. Hvis du i php manualen kan se, at en funktion er ”binary safe”, kan du tage det helt roligt, for så sker den slags ikke. Men det er ikke alle funktioner, der er ”binary-safe”.

PHP 5 leveres med et muti-byte modul med funktioner, man kan bruge i stedet. Hvis ikke man har modulet, og ikke kan komme til at installere det, må der gå sport i at komme uden om disse funktioner...

Med mb-modulet installeret kommer funktionen ovenfor til at se sådan ud:
<?php   echo  ’Her er æøå:  ’.mb_strtolower(’ÆØÅ’,  ’utf-8’);   ?>

som både Æ, Ø og Å kan komme helskindet igennem. Husk endelig at tilføje parameteren med tegnsættet. Brug evt. editorens søgefunktion til at finde strtolower i dine scripts. En anden bandit er strlen(). Der er flere banditter, men det er de to, jeg oftest har været oppe at toppes med. Hvis der er et problem med en funktion, vil der i manualen ofte være en henvisning til en mb-funktion under ”See Also”.

I mb-modulet findes også et par funktioner, det kan være smart at bruge, hvis der i hjemmesiden bliver bruget tekst, som ankommer via en upload formular: mb_check_encoding, som tjekker filens tegnsæt og mb_convert_encoding, som kan konvertere filen, hvis den ikke er UTF-8.

Jeg sidder lige og får en lille åbenbaring - det ville være oplagt at lave en funktion, som kan cykle gennem alle mapperne og tjekke og konvertere de non-UTF-8 tekstfiler, den støder på. Også footere med ”muuh”. Det må vente til næste gang, det driller.

Håber at det her kan hjælpe nogen :-)



Skrevet af: | Dato : 2011-05-09 13:0 | Læst : 5851 gange | Print

Din kommentar og karakter til artiklen

Din karakter:

1

2

3

4

5

6

7

8

9

10

Kommentar:

Log ind for at give en karakter og kommentar.

Kommentarer og karakterer til artiklen

 

Send Artikel/anmeldelse til: phpuni@phpuniverset.dk

Tilbage til oversigt

FORUM

Nyeste forum indlæg :

PHP/Opencart import module

Opencart/php import modul hjælp

Lækkert kontor / kontorfællesskab i Helsingør

Opdatering af PHP

Vurdering af hjemmeside

Nyeste forum svar :

Lækkert kontor / kontorfællesskab i Helsingør

Prissammenligningsside

Vurdering af hjemmeside

Preblem med at oprette FOREIGN KEY

Danske bogstaver vises forkert

 

MEDLEM

LOGIN ER IKKE MULIGT, MENS VI LAVER NYT SITE
 

NYHEDSBREV

Nyhedsbrev

Tilmeld dig vores nyhedsbrev og modtag nyheder om nye scripts og tips samt om mange andre nye tiltag på Phpuniverset.dk


 

© Copyright 2000 Propelcom Phpuniverset's politik om personlige oplysninger, artikler & Koder Phpuniverset er optimeret til Mozilla 1024 * 768 Phpuniverset version: 3.0 beta
Webhost : Ignesco.dk - android talk & help

Bund