Morjesta vaan kaikille...
Elikkäs sattuisiko kukaan tietämään miten saisin ä ja ö:n php:ssa? Siis ä ja ö toimii ihan normaalisti tulostuksessa, mutta jos yritän ottaa tietoa tietokannasta jossa on ä ja ö kirjaimia, niin ne tulostuvat ruudulle tälläisenä "öä"???
Sattuisiko kukaan tietämään missä vika? Outoa tässä on se, että ä ja ö näkyvät phpmyadmin kautta todella hyvin, mutta kun itse haen ne, niin ne kusevat...
Mahtaisiko olla tietokannassa ja php-sivussa eri merkistö käytössä (esim. UTF-8 ja ISO-8859-1)?
Tuota itsekkin tuumin, mutta olen muutellut tietokannan merkistöjä eri vaihtoehtoihin, mutta ei vain toimi. En sit tiedä kun tietokanssata ei löytynyt sellasta merkistöä kuin ISO-8859-1 mutta kokeilin esim latin1-sweden-ci tjt... Saattaa tietenki olla että php käyttää juuri tuota ISO-8859-1 ja sen takia ä ja ö kusevat, mutta miten saan tuon ISO-8859-1 käyttöön MySQL:ssä?
Latin-1 lienee sama asia kuin ISO-8859-1, jos olen oikein ymmärtänyt.
No sitten käytin aivan oikeaa, mutta ei vain toimi...
kayttaja-3842 kirjoitti:
"öä"
Tuollasta jälkeä tulee kun data oikeasti on UTF-8:aa, mutta selain yrittää näyttää sitä ISO-8859-1:nä (joka on tosiaan toiselta nimeltään Latin1).
Osaisitko sitten kertoa mitä tulisi tehdä? Pitäisikö minun sörkkiä PHP:n asetuksia vai MySQL:än?
Edit1: Sain sen toimimaan sillai, että lisäsin koodiin header osioon rivin " <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">"
...mutta se ei ole hyvä juttu koska kun muutan UTF-8 filut nii sinne tulaa kaiken moista ylimäärtästä paskaa. Joten tietääkö kukaan miten pystyn muuttamaan mysql palauttamaan latin1 enkä UTF-8 tyyppiä?
Kokeilin ton avulla mut en saanu ainakaa ite toimimaan.
http://dev.mysql.com/doc/refman/5.0/en/charset-connection.html
Edti1: Sain sen toimimaan sillä latin1:llä myös eli php komennolla
mysql_query("set names latin1",$yhteys);
Oletko kokeillut:
echo utf8_decode("öä");
Aihe on jo aika vanha, joten et voi enää vastata siihen.