Varför blir inte teckenuppsättningen samma?

PHPportalen Forum Index » PHP Mjukstart
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
D.Holmen



Medlem i: 4637 dagar
Från: Loftahammar
Status: Offline



#701893
Inlägg Skrivet: 2011-02-23 13:37      Ämne: Varför blir inte teckenuppsättningen samma? Citera

Halloj,

Jag håller på och blir tokig på problem med ÅÄÖ - igen!

Jag har satt detta i mina skript (extern inhämtning - och dess output ger korrekta tecken):
PHP:
1:
 ini_set("default_charset",'utf8_swedish_ci'); 


Men väl i databasen och när man sedan hämtar informationen därifrån så blir det å=Ã¥f ä=ä ö=ö istället. Och databasen är i utf8_swedish_ci.
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Skicka e-post Besök användarens hemsida MSN Messenger
EmilV
Ex-Moderator



Medlem i: 5827 dagar
Från: Lilla Edet
Status: Offline



#701894
Inlägg Skrivet: 2011-02-23 13:41      Ämne: Citera

Det du skrivit om databasen är dess "collation", ett värde som bara används vid sortering och jämförelser. Det du ska kolla på är tabellens teckenkodning (charset) samt se till att uppkopplingen mellan PHP och databasen är rätt.

För det senare kör du SET NAMES varje gång du ansluter till databasen:

KOD:
1:
SET NAMES 'utf-8';


Kontrollera även att teckenkodningen som används i HTTP-överföringen är rätt. Bäst är att skicka denna header:

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

_________________
Tänk!

EmilVikström.se | Bloglovin.com
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida
D.Holmen



Medlem i: 4637 dagar
Från: Loftahammar
Status: Offline



#701937
Inlägg Skrivet: 2011-02-24 01:00      Ämne: Citera

Tack. Jag har det i headern, men det har inte hjälpt. Ska se om SET NAMES funkar nu med. Ska det se ut som så?:
PHP:
1:
 mysql_query("SET NAMES 'UTF-8', INSERT INTO tabell VALUES ... ... .. ."); 


För jag får nämligen ett felmeddelande då: Unknown character set: 'UTF-8'
Vilket då skulle kunna betyda att servern inte har support för UTF-8?
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Skicka e-post Besök användarens hemsida MSN Messenger
marabou
Administratör



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



#701941
Inlägg Skrivet: 2011-02-24 09:46      Ämne: Citera

Tror det skall vara
KOD:
1:
mysql_query("SET NAMES 'utf8'");
 

_________________
"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
D.Holmen



Medlem i: 4637 dagar
Från: Loftahammar
Status: Offline



#701944
Inlägg Skrivet: 2011-02-24 10:03      Ämne: Citera

Sätter jag det i en egen mysql_query som mitt tidigare inlägg, eller ska det göras på en egen rad innan eller efter den?

Tex:
mysql_query("SET NAMES 'utf8'");
mysql_query("INSERT INTO tabell VALUES ... ... .. .");

Att bara byta ifrån UTF-8 till UTF8 hjälpte inte..
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Skicka e-post Besök användarens hemsida MSN Messenger
marabou
Administratör



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



#701947
Inlägget är accepterad som det rätta svaret Skrivet: 2011-02-24 10:36      Ämne: Citera

Testa använda mysql_set_charset:

Citat från PHP.net
Citat:
This is the preferred way to change the charset. Using mysql_query() to execute SET NAMES .. is not recommended.


KOD:
1:
 
2:
mysql_set_charset('utf8');
3:
mysql_query('INSERT INTO tabell VALUES ... ... ');
 

_________________
"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
D.Holmen



Medlem i: 4637 dagar
Från: Loftahammar
Status: Offline



#701948
Inlägg Skrivet: 2011-02-24 11:12      Ämne: Citera

Tack, nu funkar det!!
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Skicka e-post Besök användarens hemsida MSN Messenger
Visa tidigare inlägg:   
Skapa nytt inlägg   Svara på inlägget
PHPportalen Forum Index » PHP Mjukstart
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