[FIXED] PHP -> Mysql Charset probleempje (utf-8)
Hallo,
Ik wordt momenteel echt even str*ntziek hiervan.
Ik zit al uren, zo niet, dagen te pielen met charsets. Ik krijg het gewoonweg niet voor elkaar.
Het probleem:
Letters als: ï
komen in de database als: ï
Wat heb ik al geprobeerd:
in index.php m'n header naar UTF-8
Database is UTF-8 General
Tabellen en velden zijn UTF-8 General
PHP.ini: default_charset = utf8
HTML Charset is UTF-8 General
Zodra PHP de query uitvoert als:
UPDATE tabel SET veld = 'haha ï' WHERE blabla = 1
(bij debuggen query staat de ï nog wel goed)
Komen de gegevens als: ï in de database. ipv ï
Ik ben ten einde raad. Veel gezocht op internet, veel gepuzzeld. Het lukt gewoon niet :|
Tenzij ik utf8_encode gebruik.
Maar dat vind ik een vieze oplossing. Moet ook zonder kunnen toch?
Hopelijk weten jullie raad.
Leon
===
[FIXED]
De oplossing was:
mysql_set_charset('utf8',$link);
Dit zorgt ervoor dat PHP weet wat voor charset MySQL gebruikt, en zodoende de bijbehorende juister karakterset uitspuugt naar MySQL.
Gewijzigd op 06/11/2010 00:07:22 door Leon Kunst
Waar heb je die ï voor nodig dan
Als ik de query echo, staat 't wel goed in m'n browser (in die query dus)
Maar in de database komt ie er verkeerd in te staan.
- mysqli versie
- http://php.net/manual/en/mysqli.set-charset.php
- mysql versie
- http://php.net/manual/en/function.mysql-set-charset.php
Gewijzigd op 05/11/2010 23:59:13 door Th van
Oh my god:| You're a genius!!!!!
Menn, had ik dit maar eerder geweten. Ik heb me echt al uuuuuuuren kapot lopen zoeken en proberen, en dan weer in code de boel ombatterijen, en dan weer in de database.
En that does the trick!
Zeker mijn enorme dank voor jou/u !!!!
Het was een probleem dat ik zelf ook eens heb gehad (duurde dan ook 2 uur voor ik er achter was hoor), dus de oplossing was dan ook niet zo moeilijk;)