Problem med charset php+mysql+html

Permalänk
Medlem

Problem med charset php+mysql+html

Hejsan!!

Jag har råkat ut för ett extremt mystiskt problem! Jag håller på å bygger en hemsida för ett företag som innehåller en del databas-jobb. När jag nu installerade om servern så tog jag tillfället i akt att se till att _allt_ skulle gå i utf8.

MySQL-server är satt till att använda utf8 som standard enligt instruktioner från deras manual

mysql> SET NAMES 'utf8'; Query OK, 0 rows affected (0.00 sec) mysql> SET CHARACTER SET utf8; Query OK, 0 rows affected (0.00 sec) mysql>

Som ni ser gick allt bra.

I alla <head>-s har jag satt en metatag som sätter charset till utf-8, och naturligtvis även sparat filerna i utf8.

Alla fält i tabeller i databasen som är av typen varchar har utf8_swedish_ci. PHPMyAdmin använder utf8, som jag använde för att stoppa tillbaka tabellerna samt datan med.

I PHPMyAdmin så står åäaÅÄÖ så som dom ska se ut, samma när jag kör SELECT från kommandotolken. Men, på min hemsida så blir det fel!

Någon som vet vad som kan ha gått snett?? Tack på förhand! //Fredrik

Permalänk
Medlem

Se till att servern verkligen skickar filerna som UTF-8 också. Skicka en Content-type-header, typ så här med PHP:

header("Content-type: text/html;charset=UTF-8");

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av You
Se till att servern verkligen skickar filerna som UTF-8 också. Skicka en Content-type-header, typ så här med PHP:

header("Content-type: text/html;charset=UTF-8");

Funkar tyvärr inte :/ Hur ska jag kolla att servern skickar grejerna som utf-8??

Permalänk
Medlem

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
$charset = mysql_client_encoding($link);

echo "The current character set is: $charset\n";
?>

Prova denna kolla vad du får för svar.

Permalänk
Medlem

Bra jobbat, vi behöver verkligen fler gamla trådar bumpade.

Permalänk
Medlem

Det är ju bättre sent än aldrig.