Avatar billede weblance Nybegynder
01. september 2010 - 22:47 Der er 8 kommentarer og
1 løsning

Hvordan får jeg æøå rigtigt ind i databasen?

Jeg har et utf-8 kodet html dokument med en formular som bliver sendt videre til en php fil, som ligger teksten ind i en database.
Problem: Hvis jeg indtaster "æøå" i feltet så bliver teksten til "æøå" inde i databasen.

Hvordan får jeg det til at snakke ordentlig sammen uden at skulle lave charset om til iso-8859-1? Eller er det mest rigtigt at lave danske hjemmeisder i iso-8859-1?
Avatar billede danco Nybegynder
01. september 2010 - 22:54 #1
Hvad er dit charset på databasen ?
Avatar billede weblance Nybegynder
01. september 2010 - 22:55 #2
Html filen:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Test</title>
</head>
<body>
<form action="insert_text.php" method="post">
<input type="text" name="text" />
<input type="submit" />
</form>
</body>
</html>

PHP filen:

<?php
//Kode til DB connect her...

$text = $_POST['text'];

$sql="INSERT INTO test (text) VALUES ('$text')";
if (!mysql_query($sql,$con)){
    die('Error: ' . mysql_error());
}

mysql_close($con);
?>
Avatar billede weblance Nybegynder
01. september 2010 - 22:56 #3
Inde i phpmyadmin står der:

MySQL Tegnsæt:  UTF-8 Unicode (utf8)
Avatar billede weblance Nybegynder
01. september 2010 - 22:58 #4
Hov...

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

skulle være:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Avatar billede showsource Seniormester
01. september 2010 - 23:12 #5
"Der står i phpmyadmin" .....

Din tabel som du gemmer i, skal være utf-8

Og ok, du kan oprette tabeller som utf-8 med phpmyadmin, men ikke gemme som utf-8 via phpmyadmin. ( Hvad jeg ved af! )

Det er så heller ikke hvad du åbenbart gør, ( gemmer ), men husk tabellen skal ha' utf-8 som standard encoding

En ting er hvad encoding standard er for db, noget andet hvad de forskellige tabeller bruger som encoding
Avatar billede majbom Novice
02. september 2010 - 07:22 #6
det er muligt at din databaseforbindelse kører iso 8859-1, så skal du selv sætte den til utf-8 med mysql_set_charset når forbindelsen er oprettet.
Avatar billede weblance Nybegynder
09. november 2010 - 09:49 #7
showsource - smid venligst et svar så får du point
Avatar billede showsource Seniormester
09. november 2010 - 09:53 #8
ok
Avatar billede majbom Novice
09. november 2010 - 09:56 #9
hvad var fejlen så?
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