Vinnaren i pepparkakshustävlingen!
2010-07-19, 13:19
  #1
Medlem
Tjena,

Har alltid använt one.com's webbhotell och det har alltid fungerat bra med samtliga tecken, som man kan tänkas skriva på ett svenskt tangentbord. Har på senare tid använt mig av MAMP för programmering lokalt på min Macbook. Där jag sedan lägger över sidan till mitt webbhotell och även databasen, så försvinner å,ä,ö och blir till ? istället. Jag har ändrat Kollationeringen till UTF8 Swedish, men det fungerar inge vidare. Några tips?

Tacksam för hjälp
Citera
2010-07-19, 15:38
  #2
Medlem
Tvillingens avatar
Testa lägg till det här när du kopplar upp dig till databasen.

Kod:
mysql_query("SET CHARACTER SET 'utf8'"); 

Kommer inte ihåg hur man gör detta genom pdo, men borde stå här.

http://www.php.net/manual/en/pdo.construct.php
Citera
2010-07-19, 15:53
  #3
Medlem
patrikgbgs avatar
Det där kan vara ett rent jävla helvete om du har otur...

Är det både källkoden och databasen som blir "?" ?. Det kan vara ett flertal fel så som jag ser det:
1) Webbsidan kan rendreras i latin1 medans datan kommer i utf8.
2) Datan kan ligga i latin1(eller annan teckentabell) i en utf8 databas, eller vice versa.
3) Du kanske använder någon php funktion som förstör utf8 tecken, vet att flera sträng manipulations funktioner inte stödjer Multibyte tecken.

Har konverterad flera databaser mellan latin1 och utf8 och det är alltid ett rent jävla helvete. I ditt fall verkar det dock som om att din editor sparar filerna i latin1 eller annan teckentabell?

Testa även med SET NAMES UTF8 resp. SET NAMES LATIN1, dessa frågor skall köras först direkt efter mysql_connect. Funkar inte det så får du börja en jobbig felsökningsprocess.

Det räcker dessutom inte att bara sätta kollationeringen, den avgör bara hur datan skall sorteras, du behöver även ändra character set, eller hur det nu stavas.
Citera
2010-07-20, 18:16
  #4
Moderator
Protons avatar
Finns ingen diskussion om PHP idenna tråd, däremot diskuteras det friskt om databaser....

PHP -> Databaser /Mod
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback