Gå til innhold

[Løst] "Æøå" problemer


Anbefalte innlegg

Jeg har en database som inneholder UTF8 charset data (siden inneholder oversettelser til språk som krever dette som charset )

 

Når php henter inn data fra mysql databasen vises æøå riktig.

Problemet er HTML !

Problemet er at "æ ø å" som IKKE hentes gjennom mysql database vises som "?" tegn.

 

 

Her er hvordan config filen min så ut (som includes først i koden)

<? header('Content-Type: text/html; charset=utf-8' ); session_start();?>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php

//mysql connection///////////////////
$con = mysql_connect("localhost","root","pass");
if (!$con)
 {
 die('Could not connect: ' . mysql_error());
 }
mysql_query("SET NAMES 'utf8'");
mysql_select_db("dbname", $con);
/////////////////////////////////////
?>

 

Edit:

med en gang jeg kobler til databasen forsvinner aøå bokstavene som hentes fra vanlig html kode .

 

<p>hei på deg</P> vises som "hei p� deg"

Endret av xox
Lenke til kommentar
Videoannonse
Annonse

Hva dette skal ha med databaser å gjøre fatter jeg ikke. Uannsett, hva er "æ ø å" som ikke hentes igjennom mysql? Hardkodede ting i scriptet/html? Ekstern kilde som f.eks en RSS-feed? Fil fra disk? Hvis det er noe du har kontroll over så bør du finne ut hvilket tegnsett det faktisk er lagret i og lagre det i UTF-8. Har du ikke kontroll over kilden så må du konvertere. Isåfall:

$UTF8string = mb_convert_encoding($string, 'other charset', 'UTF-8');

// eller
mb_internal_encoding('UTF-8');
$UTF8string = mb_convert_encoding($string, 'other charset');

// eller

$UTF8string = iconv('other charset', 'UTF-8', $string);

Lenke til kommentar

Jeg har en fil såkalt index.php

slik ser dn ut:

 

 

<? header('Content-Type: text/html; charset=utf-8' ); ?>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php
//mysql connection///////////////////
$con = mysql_connect("localhost","root","pass");
if (!$con)
 {
 die('Could not connect: ' . mysql_error());
 }
mysql_query("SET NAMES 'utf8'");
mysql_select_db("dbname", $con);
/////////////////////////////////////



$hello = "Html resultat: Hei på deg!";


echo $hello;



echo "<br> Database resultat:<br>";
$result = mysql_query("SELECT * FROM Persons"); while($row = mysql_fetch_array($result))
 {
 echo $row['FirstName'] . " " . $row['LastName'];
 echo "<br />";
 }

mysql_close($con);

?>

 

 

 

Resultat:

 

Html resultat: Hei p� deg

 

Database resultat:

 

Pål Erik

Åge Hansen

osv...

Endret av xox
Lenke til kommentar
xox: Filen det gjelder er tydligvis ikke lagret som UTF-8 i og med at du har en «ugyldig» byte som tydligvis vises som �.

 

 

HTML-kode

æ = æ

Æ = Æ

ø = ø

Ø = Ø

å = å

Å = Å

:no: Poenget med å bruke UTF-8 er liksom å kvitte seg med slikt.

 

akuratt :) den viser � tegn hvor æøå er...

 

Filen det gjelder er tydligvis ikke lagret som UTF-8

 

hvordan lagrer jeg filen som utf8 ?

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...