Ongelma ilmaantui MySQL 4.1 > 5.0 päivityksen jälkeen.
Ongelma on seuraava:
- Data tietokannassa on Unicodena (utf8_general_ci) Kaikki taulut, siis kaikki.
- Kun yritän hake tietokannasta tietoa, ja lähetän pyynnön utf8 formaatista, se ei löydä mitään.
- Kun taas tallennan haun latin1 formaatista, niin se löytää tiedot. Tästä ei ole paljoakaan iloa, koska tietokannasta on myös kyrillisiä merkkejä, joten utf8 haku on pakko saada toimimaan.
Tietokanta on yritetty kääntää ja päivittää vanhan päälle (4.1), myös on yritetty tehdä puhdas asennus, ja siirtää tiedot mysqldumpin avulla vanhasta tietokannasta uuteen. Ongelma ei hävinnyt.
Mysql 4.1:n kanssa samat php skriptit toimivat täysin ongelmitta. Joten en keksi mitä tehdä.
Ongelma on seuraava:
- Data tietokannassa on Unicodena (utf8_general_ci) Kaikki taulut, siis kaikki.
- Kun yritän hake tietokannasta tietoa, ja lähetän pyynnön utf8 formaatista, se ei löydä mitään.
- Kun taas tallennan haun latin1 formaatista, niin se löytää tiedot. Tästä ei ole paljoakaan iloa, koska tietokannasta on myös kyrillisiä merkkejä, joten utf8 haku on pakko saada toimimaan.
Tietokanta on yritetty kääntää ja päivittää vanhan päälle (4.1), myös on yritetty tehdä puhdas asennus, ja siirtää tiedot mysqldumpin avulla vanhasta tietokannasta uuteen. Ongelma ei hävinnyt.
Mysql 4.1:n kanssa samat php skriptit toimivat täysin ongelmitta. Joten en keksi mitä tehdä.
Vastaukset 1
Vanhimmat
Tämä ei liity 4.1 ja 5.0 eroihin, mutta voi olla että asetukset ovat nyt hieman eri tavalla. Jos saat latin1 (default) hauilla oikean näköisiä tuloksia, koita komentoa
set names 'utf8';
ennen kyselyn suorittamista.
Virhe tietysti saattaisi olla siinä, että olet dumpannut datan latin1:senä ja tallentanut sellaisenaan. Voit testata konvertoida dump tiedoston utf8 muotoon ja tuoda datan uudelleen kantaan.