Forkert characterset i DB

Tags:    php pdo mysql

Hej
Jeg sidder nu med et mystisk problem hvor jeg ikke helt kan se problemet. Problemet er nyt i den forstand at jeg med MySQL og MySQLi ikke havde problemet, men det er først kommet efter at jeg har skiftet til PDO i stedet.
Problemet består i at når jeg anvender danske bogstaver eller andre specielle bogstaver, så vises det korrekt på min side når ordet hentes fra databasen, men i phpMyAdmin ser det forkert ud og det samme sker når jeg eksporterer databasen og så åbner filen. Når jeg så importerer en eksporteret fil til en anden MySQL-server med matchende opsætning så vises det forkert i både phpMyAdmin og på siden.
Jeg har forsøgt at åbne en eksporteret SQL-fil i NotePad++ og så markere det hele og vælge "Konverter til UTF8 uden BOM". Dette hjalp ingenting.
Her er et par eksempler:
Fold kodeboks ind/udKode 

Disse to strenge skulle egentlig se således ud:
Fold kodeboks ind/udKode 


Det mærkelige er at det ser ud som det øverste i databasen, men på den server hvor teksten er gemt fra ser det rigtigt ud når data hentes fra databasen.

Bruger utf8general_ci som characterset i alle felter i databasen og på database og tabeller.

Er der nogen der har et godt bud på hvorfor det ikke virker?



Indlæg senest redigeret d. 17.12.2013 18:06 af Bruger #17072
2 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 5 karma
Sorter efter stemmer Sorter efter dato
hurtigt bud, hvilke tegnset kører din connection med ??, prøv at sætte et charset ligesom du plejer i mysqli (mysqli_set_charset($conn, "utf8"); eller $conn->set_charset("utf8"); )

læg mærke til dette charset=utf8 i coden nedenfor
Fold kodeboks ind/udKode 





Det ser ud til at fungere. Indtil nu har det fungeret med dette:
Fold kodeboks ind/udPHP kode 


Men det har fungeret fint når jeg trækker indhold fra databasen, men når jeg skal have indhold ind i databasen så er det åbenbart ikke nok.

Jeg takker. Dit hurtige gæt var også rigtigt.
Mente at jeg havde ramt det rigtige i og med at jeg netop kiggede rundt på nettet for at finde ud af hvordan jeg "tvinger" den til at bruge UTF8, men så har det åbenbart ikke været den rigtige også selvom det stod i en kommentar på php.net



t