Avatar billede den-evil Nybegynder
31. oktober 2007 - 16:26 Der er 14 kommentarer

encoding problem

Når det er jeg henter noget ud fra Databasen der er æ ø å i, så viser den ikke tegnet korrekt i IE, men i FF viser den det fint...

Hvad kan være problemet ?
Avatar billede jakobdo Ekspert
31. oktober 2007 - 16:37 #1
Hvilken encoding bruger du i din database?
Hvilken encoding bruger du når du viser din side?

Du skal muligvis huske at tilføje et meta-tag ala:
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
eller
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
Avatar billede den-evil Nybegynder
31. oktober 2007 - 17:12 #2
Ok, det er nu rettet, nu skriver den det korrekt, men opstod et andet problem i stedet... I toppen af siden kommer der nogle underlige tegn: 
Men det er kun i FF ? - Har ikke skrevet de tegn nogle steder eller noget?
Avatar billede den-evil Nybegynder
31. oktober 2007 - 17:16 #3
Avatar billede den-evil Nybegynder
31. oktober 2007 - 17:18 #4
det har åbenbart noget at gøre med en fil jeg inkluderere, men der er intet specielt i den:

<? include("cnx.php") ?>
<?
Function RtrnCustomers($style) {

    $SQL = "SELECT * FROM customers ORDER BY customer ASC";
    $mq = mysql_query($SQL) or die(mysql_error());

    $tael = mysql_num_rows($mq);

    if($tael > 0 ) {

        echo '<div class="cust_item">';
        echo '<h1>Udvalgte Web Referencer</h1>';
       
        $farve = "";

        while($cust = mysql_fetch_assoc($mq)){
        $cust_name = $cust['customer'];
        $cust_type = $cust['type'];
        $url = $cust['url'];
        $cust_desc = $cust['desc'];

        if($i++ % 2 != 0) {
            $farve = '';
          } else {
            $farve = 'grey';
          }
       
        echo '<div class="wrapcustItem'.$farve.'">';

        echo '<div class="cust_name">';
        echo '<strong>Kunde:</strong><br />'.$cust_name.'';
        echo '</div>';
        echo '<div class="cust_type">';
        echo '<strong>Type:</strong><br />'.$cust_type.'';
        echo '</div>';
        echo '<div class="cust_desc">';
        echo '<strong>Beskrivelse:</strong><br /><div class="desc">'.$cust_desc.'</div>';
        echo '</div>';
        if($url <> "") {
            echo '<div class="cust_url">';
            echo '<a href="'.$url.'" title="'.$cust_name.'">Se site</a>';
            echo '</div>';
        }
   
        echo '</div>';
       
        }
           
       
        echo '</div>';

    }


}
?>
Avatar billede den-evil Nybegynder
31. oktober 2007 - 17:39 #5
Den kører utf-8 i databasen...
hvis jeg kører utf-8 på sitet, så fjernes det i toppen, men den har problemer med æ ø å... og hvis jeg kører iso-8859-1 på sitet, forsvinder problemet med æ ø å, men så kommer de tegn i toppen...
Avatar billede jakobdo Ekspert
31. oktober 2007 - 18:00 #6
De ekstra tegn er din editor som driller.
Det skyldes UTF8 BOM: http://unicode.org/faq/utf_bom.html#22
Avatar billede den-evil Nybegynder
31. oktober 2007 - 18:01 #7
Ok, men nu er det alt i utf-8 - men nu viser den bare æ ø og å som ? Hvad sker der for det hele, har aldrig set dette før? :S
Avatar billede jakobdo Ekspert
31. oktober 2007 - 18:09 #8
Er det data du trækker ud af din database, hvor æøå vises som ?  ?
Avatar billede den-evil Nybegynder
31. oktober 2007 - 18:15 #9
jep
Avatar billede jakobdo Ekspert
31. oktober 2007 - 18:24 #10
Kunne det tænkes data var gemt som iso-8859 i din database og du forsøger at vise det som utf8 ?
Avatar billede den-evil Nybegynder
31. oktober 2007 - 18:28 #11
Hmm, det ved jeg skam ik helt, det er vel en mulighed, har indsat teksterne manuelt i databasen, så har skrevet det direkte...

Hvis det er sådan, hvad er mine muligheder så ? - Må være en måde det kan konverteres på ?
Avatar billede jakobdo Ekspert
31. oktober 2007 - 18:31 #12
Du kan evt. lave en utf8 side, hvor du skriver data og gemmer det i databasen.
Avatar billede den-evil Nybegynder
31. oktober 2007 - 19:16 #13
hmm, er ik helt med, har jo indsat alt indhold manuelt i db? skal jeg lave et script der henter alle poster ud, og opdatere dem igen eller hvordan ?
Avatar billede jakobdo Ekspert
31. oktober 2007 - 19:41 #14
Problemet er at data nu er indsat i din db i iso8859 encoding.
Så det skal du have konverteret til utf8, hvis jeg tror rigtigt.
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