Avatar billede n-emy Nybegynder
26. januar 2011 - 15:10 Der er 6 kommentarer og
1 løsning

Char-encoding giver mig ondt i hovedet

Hej derude

Jeg er ved at gå fra iso til utf-8 på alle mine projekter, men for sjovt ville jeg lige kode en ny side med utf8 i hovedet fra start så jeg fik greb om hele char-encoding-konceptet således at det ville gå mere eller mindre smertefrit.

Har sat alt til utf-8:
Serveren er sat til utf-8
Filen er encodet i utf-8 uden bom
I headeren er HTML angivet til utf-8
Databasen er oprettet som utf8_swedish_ci og ligeledes er tabellerne og deres felter

Det er da også gået fint indtil jeg skulle have ting i min database fra mine scripts. Når jeg går ind i databasen via php-myadmin ser en tekst f.eks. således ud:

Jeg tester æøå hallåååååå

Men ligeså snart jeg hiver det ud fra databasen og printer det på siden ser det ud som det skal:
Jeg tester æøå hallåååååå

Hvad gør jeg forkert? :S
Avatar billede repox Seniormester
26. januar 2011 - 15:26 #1
Husker du at fortælle MySQL at du også vil kommunikere i utf-8?
mysql_query("SET NAMES 'utf8'");
Avatar billede n-emy Nybegynder
26. januar 2011 - 15:30 #2
Vidste ikke at det var et krav hvis alt andet var sat til utf8 men det prøver jeg :)

Men er mysql_set_charset("utf8",$dbconnect); så ikke mere hensigtsmæssigt?
Avatar billede repox Seniormester
26. januar 2011 - 15:42 #3
Den har jeg aldrig selv fået til at fungere - mit forslag i #1 virker dog fint for mig...
Avatar billede n-emy Nybegynder
26. januar 2011 - 16:00 #4
Læste her:
http://www.eksperten.dk/spm/900047

At mysql_query("SET NAMES 'utf8'") skulle være uddateret? Du har nok mere forstand på det end mig :)
Avatar billede repox Seniormester
26. januar 2011 - 17:10 #5
Jeg kan ikke helt lure hvad der får dig til at konkludere det?
Dokumentation kan findes her: dev.mysql.com/doc/refman/5.0/en/charset-connection.html
Avatar billede n-emy Nybegynder
27. januar 2011 - 10:00 #6
Bare at der var nogle kloge hoveder der sagde det i den tråd :) Men det virkede, svar? :)
Avatar billede repox Seniormester
27. januar 2011 - 11:04 #7
Jeg tror det er fordi du misforstår indlægget - PHP dokumentationen fortæller ikke at SET NAMES er uddateret - men blot at det ikke er anbefalet: http://php.net/mysql_set_charset

At det så ikke har den effekt som du efterlyser her, kan du også se i kommentarerne på samme side, at du ikke er den eneste der har de problemer og at mysql_set_charset() ikke løser problemet.

SET NAMES er god skik fra MySQL's side - så vær du blot tryg ved det...
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