Avatar billede egebos Nybegynder
22. maj 2008 - 14:52 Der er 13 kommentarer og
1 løsning

GD lib kan ikke udskrive danske bogstaver som ÆØogÅ

Hvad har jeg gjort forkert? Min kode er:

<?php
header("Content-type: image/gif");
$fontsize = 18;
if(@$_GET['fontsize']){
$fontsize = $_GET['fontsize'];
}
$font = 'arialbd.ttf';
$text = @$_GET[tekst];
$size = imagettfbbox($fontsize, 0, $font, $text);
$width = $size[2] + $size[0] + 8;
$height = abs($size[1]) + abs($size[7]);
$im = imagecreate($width, $height);
$colourWhite = imagecolorallocate($im, 231, 231, 231);
imagecolortransparent($im, $colourWhite);
$black = imagecolorallocate($im, 231, 231, 231);
$white = imagecolorallocate($im, 103, 114, 144);
imagefttext($im, $fontsize, 0, 0, abs($size[5]), $white, $font, $text);
imagegif($im);
imagedestroy($im);
?>

Den kan ikke udskrive specille bogstaver som ÆØÅ. Der kommer bare en firkant.
Det er sket efter jeg har skiftet server til Servage.net.

Kan ses her: http://egebos.dk/tekst.php?tekst=S%C3%B8g
Avatar billede w13 Novice
22. maj 2008 - 14:55 #1
Så skyldes det, at der bruges et andet tegnsæt. Hvilken tegnsæt bruger du på dine andre sider, som godt kan finde ud af ÆØÅ?
Avatar billede egebos Nybegynder
22. maj 2008 - 15:02 #2
Tegnsæt? Hvor ændre man det overhovedet?
Avatar billede w13 Novice
22. maj 2008 - 15:06 #3
Det kan sættes på mange måder.
Normalt sætter man det sådan her i HTML:
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
(I eksemplet bruges her UTF-8.)

Med PHP kan det sættes:
<?php header('Content-Type: text/html; charset=UTF-8');?>

Men problemer med ÆØÅ vil typisk opstå, når der bruges 2 modstridende tegnsæt, f.eks. UTF-8 og ISO-8859-1.

Ligeledes skal man også sørge for at sine eventuelle databaser bruger samme charset.

Og når man gemmer sine sider (f.eks. i Notesblok) vil man kunne vælge "Encoding", som skal være UTF-8, hvis det er dét man bruger, og ANSI, hvis man bruger ISO-8859-1.
Avatar billede egebos Nybegynder
22. maj 2008 - 15:12 #4
Jeg har ikke skrevet
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
eller
<?php header('Content-Type: text/html; charset=UTF-8');?>
på nogen af mine sider?
Avatar billede w13 Novice
22. maj 2008 - 15:14 #5
Det burde du måske. ;)

Jeg kan se, at dine sider generelt er gemt i "ANSI" (hvilket svarer til ISO-8859-1), så prøv at indsætte denne header på din tekst.php-side.

I stedet for:
header("Content-type: image/gif");
Så prøv:
header('Content-Type: image/gif; charset=ISO-8859-1');
Avatar billede egebos Nybegynder
22. maj 2008 - 15:15 #6
Har jeg lige prøvet, der sker intet.
Avatar billede w13 Novice
22. maj 2008 - 15:17 #7
Prøv så med:
header('Content-Type: image/gif; charset=UTF-8');
Avatar billede w13 Novice
22. maj 2008 - 15:19 #8
Ellers kan du også prøve at køre din $_GET[tekst] igennem funktionen urldecode()
Avatar billede egebos Nybegynder
22. maj 2008 - 15:19 #9
Har jeg også, stadig intet :(
Avatar billede egebos Nybegynder
22. maj 2008 - 15:21 #10
Virker heller ikke.
Avatar billede dkfire Nybegynder
22. maj 2008 - 15:34 #11
Har du prøvet at udskrive en statisk tekst med æ, ø eller å ?
Altså noget i stil med:
<?php
header("Content-type: image/gif");
$fontsize = 18;
if(@$_GET['fontsize']){
$fontsize = $_GET['fontsize'];
}
$font = 'arialbd.ttf';
//$text = @$_GET[tekst];
$text = "Læs på møllen";
$size = imagettfbbox($fontsize, 0, $font, $text);
$width = $size[2] + $size[0] + 8;
$height = abs($size[1]) + abs($size[7]);
$im = imagecreate($width, $height);
$colourWhite = imagecolorallocate($im, 231, 231, 231);
imagecolortransparent($im, $colourWhite);
$black = imagecolorallocate($im, 231, 231, 231);
$white = imagecolorallocate($im, 103, 114, 144);
imagefttext($im, $fontsize, 0, 0, abs($size[5]), $white, $font, $text);
imagegif($im);
imagedestroy($im);
?>
Avatar billede egebos Nybegynder
22. maj 2008 - 16:29 #12
Det er samme resultat ):
Avatar billede olebole Juniormester
23. maj 2008 - 17:18 #13
<ole>

I følge Ekspertens regler må du ikke åbne to spørgsmål om samme emne med mindre end én uges mellemrum. Du oprettede præcis samme spørgsmål i mandags  ;o)

/mvh
</bole>
Avatar billede egebos Nybegynder
21. juni 2008 - 20:35 #14
Ingen løsning
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester