Fel i teckenkodning från databasen

PHPportalen Forum Index » Databaser
Lägg ett bokmärke på hela tråden
Skapa nytt inlägg   Svara på inlägget
Visa föregående ämne :: Visa nästa ämne  
Startad av: Meddelande
U-Nas



Medlem i: 4702 dagar
Från: Skaune
Status: Offline



#690719
Inlägg Skrivet: 2010-10-10 11:29      Ämne: Fel i teckenkodning från databasen Citera

Hej!

Jag håller på med en sida som hämtar information från min MySQL-databas. Sidorna som hämtar informationen kör utf-8, för då fungerar alla åäö som de ska.

Problemet är att jag på samma utf-8 sida hämtar ett antal rader från min databas. åäö som då printas ut visas som � istället.

Jag har programmerat en hel del men aldrig riktigt fattat detta med teckenkodning.. vill någon vänlig själ hjälpa mig med hur jag ska ställa in databasen vs sidan så att de är överrens om hur åäö ska visas?

Tack på förhand!
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
marabou
Administratör



Medlem i: 5129 dagar
Från: Sveriges framsida
Status: Offline



#690722
Inlägg Skrivet: 2010-10-10 12:05      Ämne: Citera

Haha återigen en av PHPportalens vanligast förekommande fråga! Laughing

Finns en bra grej här:
http://www.phpportalen.net/viewtopic.php?p=689860#689860

Det viktiga är att du har samma charset överallt (läs i ovan länkade inlägg).

Om du har din sida i UTF-8 och ser tecknet � betyder det att informationen som skrevs ut just där är kodad i ISO-8859-1 men utskriven som utf-8.
Sen om ISO-kodningen kommer från databasen, uppkopplingen eller t.ex. har körts genom utf8_decode går inte att säga på rak arm.
 

_________________
"Never argue with stupid people. They will bring you down to their level and beat you with experience."
- Mark Twain
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
U-Nas



Medlem i: 4702 dagar
Från: Skaune
Status: Offline



#690727
Inlägg Skrivet: 2010-10-10 13:19      Ämne: Citera

Hej och tack för snabbt svar marabou!

På varje sida använder jag
KOD:
1:
<meta http-equiv="content-type" content="text/html; charset=utf-8" />

Databasen är inställd på "utf-8 default collation", både dess schema, alla tabeller och alla kolumner. Trots det så printas åäö ut som små �.

Om jag kör en echo "Skriv ut åäö"; så fungerar det bra, det är alltså bara det som hämtas från databasen som knasar..

Jag har ju sett att det finns en väldig massa olika utf-8 att välja på. Har testat ett tiotal men med samma resultat.
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Jalet



Medlem i: 5142 dagar
Från: Järfälla, Kallhäll
Status: Offline



#690728
Inlägget är accepterad som det rätta svaret Skrivet: 2010-10-10 13:26      Ämne: Citera

PHP:
1:
 mysql_query('SET NAMES UTF8'); 


Eller liknande har jag kört tidigare, det har fungerat.
 

_________________
http://www.tv.nu | http://www.sport.nu
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Skicka e-post Besök användarens hemsida
U-Nas



Medlem i: 4702 dagar
Från: Skaune
Status: Offline



#690729
Inlägg Skrivet: 2010-10-10 13:36      Ämne: Citera

Jalet skrev:
PHP:
1:
 mysql_query('SET NAMES UTF8'); 

Eller liknande har jag kört tidigare, det har fungerat.

- Shit vad sjukt! Där har vi det, nu funkar det som det ska!
Jag är dock mer förvirrad nu än tidigare.. då spelar det ju ingen roll alls om jag väljer teckenkodning för arabiska eller svenska i inställningarna för databasen?

Tack än en gång Jalet!
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
marabou
Administratör



Medlem i: 5129 dagar
Från: Sveriges framsida
Status: Offline



#690769
Inlägg Skrivet: 2010-10-10 19:17      Ämne: Citera

U-Nas skrev:
- Shit vad sjukt! Där har vi det, nu funkar det som det ska!
Jag är dock mer förvirrad nu än tidigare.. då spelar det ju ingen roll alls om jag väljer teckenkodning för arabiska eller svenska i inställningarna för databasen?

Tack än en gång Jalet!

Jo, det spelar roll. Det du väljer för "databasen" är hur informationen LAGRAS. Sedan är det en annan teckenkodning för hur informationen skickas från databasen till php (Punkten "Databasuppkopplingen") i mitt länkade inlägg ovan.
Kan dock inte förklara varför...
 

_________________
"Never argue with stupid people. They will bring you down to their level and beat you with experience."
- Mark Twain
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
Visa tidigare inlägg:   
Skapa nytt inlägg   Svara på inlägget
PHPportalen Forum Index » Databaser
Hoppa till:  
Du kan inte skapa nya inlägg i det här forumet
Du kan inte svara på inlägg i det här forumet
Du kan inte ändra dina inlägg i det här forumet
Du kan inte ta bort dina inlägg i det här forumet
Du kan inte rösta i det här forumet
Du kan inte bifoga filer i detta forum
Du kan inte ladda ner filer från detta forum
Kontakta oss på adressen: info@phpportalen.net
Webbplatsen bygger i grunden på phpBB © 2001, 2002 phpBB Group

Modifieringar har senare gjorts i systemet av PHPportalen
Sid och logotypdesign skapad av Daren Jularic