Gå til innhold

[løst] MySQL far ikke til utf-8 (phpmyadmin)


Anbefalte innlegg

Videoannonse
Annonse

Du har ikke tilfeldigvis misforstått, og bare brukt collate (sammenligning), altså hvordan MySQL sorterer ting alfabetisk? Jeg gjorde det med MySQL en gang.

 

Det finnes sikkert en bedre måte å sjekke det på, men en måte er å trykke "eksporter" i phpmyadmin, trykke utfør, og se på den siste linja i databaseopprettelsen der skal det stå noe sånt:

ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_danish_ci;

 

Jeg regner med at du har styring på dette, men jeg tenkte bare å tipse om at dette KAN være problemet.

 

Et annet problem kan være at scriptene som setter inn data i tabellen ikke forteller serveren at data som kommer er UTF-8:

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

Lenke til kommentar

Har ikke sa veldig mye peiling :p

 

Endret sammenligning, og da kom denne meldingen med denne koden opp

ALTER DATABASE `cms` DEFAULT CHARACTER SET utf8 COLLATE utf8_danish_ci

 

jeg regner med den setter charset til utf8?

 

jeg har header() i index.php

Lenke til kommentar

Er det index.php du bruker til å sette inn data i databasen? Dersom det er en annen fil, som bare setter inn data og hopper direkte tilbake til index.php med header('Location') eller en lignende måte, må du passe på at den fila også har en header som forteller at innholdet er UTF-8, sånn som jeg viste i den første posten.

 

Dersom du har det, kan du gå inn på phpmyadmin og vise radene der. Dersom både scriptet ditt og databasen er i UTF-8, burde du nå se spesialtegn, som "æ", "ø" og "å" som akkurat det, og ikke som kombinasjoner av rare tegn eller spørsmålstegn.

Lenke til kommentar

Da tror jeg dessverre ikke jeg kan hjelpe deg. Jeg ser at siden din er kodet i UTF-8, så hvis du er sikker på at informasjonen som ligger i databasen er lagret i UTF-8, må feilen oppstå et eller annet sted mellom databasen og nettsiden, noe som virker veldig rart.

Lenke til kommentar

Veldig rart dette.

 

Pa index siden i phpmyadmin star det

 

MySQL-tegnsett: UTF-8 Unicode (utf8)

Kollasjon av MySQL-oppkobling: (nedtrekksliste) utf8_danish_ci

 

På variabler-siden står dette:

 

character set client utf8

(Global verdi) latin1

character set connection utf8

(Global verdi) latin1

character set database latin1

character set filesystem binary

character set results utf8

(Global verdi) latin1

character set server latin1

character set system utf8

character sets dir /usr/share/mysql/charsets/

collation connection utf8_danish_ci

(Global verdi) latin1_swedish_ci

collation database latin1_swedish_ci

collation server latin1_swedish_ci

 

Når jeg går inn på databasen og velger Operasjoner og velger utf8_danish_ci som sammenligning, far jeg opp denne SQL-koden

 

ALTER DATABASE `stale_side` DEFAULT CHARACTER SET utf8 COLLATE utf8_danish_ci

 

 

 

noe mer informasjon jeg kunne sjekket?

Lenke til kommentar

Hmm.. ja.. dette gikk darlig.

Trenger a fa fikset det allikevell.

 

Sa den URLen der, og skjonte at det ikke gikk an a sende til folk. Derfor provde jeg str_replace( 'ø', 'o', $var )

 

men da fikk jeg bare svarte streker og errors :s

 

Argh, dette gar bare ikke.

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...