Moro
MySQL:n käyttöliittymällä katsomalla taulussa olevat skandit näkyvät ihan normaalisti, mutta kun skandeja tulostetaan JavaServlettien avulla selaimeen niin skandit näyttävät tältä: Mäenpää. Palvelimella käyttöjärjestelmänä Suse Linux 10.1., Tomcat, MySQL ja JDK1.5.0_06. Missä vika?
MySQL:n käyttöliittymällä katsomalla taulussa olevat skandit näkyvät ihan normaalisti, mutta kun skandeja tulostetaan JavaServlettien avulla selaimeen niin skandit näyttävät tältä: Mäenpää. Palvelimella käyttöjärjestelmänä Suse Linux 10.1., Tomcat, MySQL ja JDK1.5.0_06. Missä vika?
Vastaukset 1
Vanhimmat
Sulla lienee datat kannassa UTF-8-formaatissa, mutta web-sivu kertoo selaimelle sisällön olevan muodossa ISO-8859-1.
Korjausvaihtoehtoja:
1. määritä html-koodin character encoding oikein, joko meta-tagilla tai määrittämällä servletissä sivun HTTP-headerin "Content-encoding" oikeaan arvoon (UTF-8).
2. lue tiedot kannasta oikeassa muodossa. Tämä onnistunee sanomalla tietokantayhteyden avaamisen jälkeen mysql:lle "SET CHARACTER SET 'latin1'" (Latin1 on sama kuin ISO-8859-1)
Itse käyttäisin ykkösvaihtoehtoa, maailman pitäisi oikeasti pikkuhiljaa alkaa käyttämään UTF-8:sia, loppuisi ääkkösongelmat vihdoin.