Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Ääkköset

eija [19.12.2010 10:06:45]

#

Localhostilla ääkköset tulostuu oikein ja käytän utf-8:aa. Serverillä tiedostot näyttävät olevan utf-8 muodossa, mutta ääkkösten tilalla on kysymysmerkit. Jos muokkaan tiedostoa ja laitan ISO 8859-1 tai -15, kysymysmerkitkin häviävät.

Metabolix [19.12.2010 10:15:07]

#

Tulostat siis sivulle ISO-8859-1-muotoista tekstiä, ja selain näyttää kysymysmerkkejä, koska se yrittää tulkita tekstin UTF-8:na mutta ääkköset eivät ole kelvollisia UTF-8-merkkejä.

Oletko asettanut tietokantayhteydellekin merkistön? Esim. näin, jos käytät tietokantaan MySQL-funktioita:

mysql_set_charset("utf8");

eija [19.12.2010 10:25:55]

#

No, ensikis yritin, että localhostissa ja serverillä käytetään utf-8:aa php-tiedostoissa. Silloin tuli tämä ääkkösongelma. Kait se vika on siinä tiedostojen siirrossa.

Serveri vaan lataa tiedostoja lataa painikkeella, ihan samalla tavoin kuin sähköpostiin laitetaan liitetiedostoja. Ei siihen lataukseen pääse vaikuttamaan millään tavoilla.

Sain sivut toimimaan ääkkösin seuraavalla kummallisella menettelyllä (joka vahingossa tuli keksittyä):
- avaan tiedoston palvelimella US-asciina
- muokkaan tiedoston kummalliset merkit ääkkösiksi
- tallennan utf-8:n muodossa

Eihän tuo ole ratkaisu, jos pidemmän päälle ajatellaan.

Metabolix [19.12.2010 19:40:33]

#

Tallenna seuraava koodi UTF-8-muodossa, siirrä palvelimelle (ilman tuota keksimääsi kikkaa) ja kerro, mitä se tulostaa:

<?php
header("Content-Type: text/plain; charset=UTF-8");
$s = "åäö";
echo "{$s} => ";
var_export(count_chars($s, 1));

Tee sitten keksimäsi kikka ja kokeile vielä uudestaan. Tästä toivottavasti saamme jotain hyödyllistä tietoa.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta