Mistä johtuu että php:llä tehty vieraskirja toimii muuten hyvin, mutta ei näytä viestiä lainkaan jos se sisältää ääkkösiä?
Johtuu siitä, että vieraskirjassa on vika ääkkösiä sisältävien viestien käsittelyssä.
Laita nyt alkuun vaikka vieraskirjan koodi näkyville.
Ensin kannattaa lukea opas merkistöistä ja varmistaa, että koko sivusto käyttää UTF-8-merkistökoodausta, kuten oppaan lopussa neuvotaan.
Koodi on täysin sama kuin tässäkin. En ole muuttanut tai lisännyt mitään. Villen vieraskirja
Olen muuten vasta aloittanut php:n, joten näin heti alkuun pyydän anteeksi etten kaikkea koodi höpinää tule ymmärtämään. Yritän kuitenkin parhaani.
Kuten jo sanoin, sinun pitää asettaa koodi käyttämään UTF-8-koodausta. Funktio htmlspecialchars palauttaa tyhjän tekstin, jos tekstin merkistökoodaus ja funktion käyttämä merkistökoodaus eivät täsmää. (Jos välttämättä haluat käyttää ISO-8859-1-koodausta, lue PHP:n ohjekirjasta, miten htmlspecialchars-funktion koodausta vaihdetaan.)
Ylipäänsä ei kannata kopioida koodia yli 10 vuotta vanhasta oppaasta.
En tiennytkään että PHP koodeilla on myös parasta ennen päiväys.
Asetin muuten tuon UTF-8 ja sittenhän se vasta riehaantuikin.
Kaikki näkyvät ääkköset muuttuivat sellaiseksi siansaksaksi ettei niistä mitään selvää saanut. Paitsi tietenkin viestien ääkköset joita ei edelleenkään näy.
Onko mitään mahdollisuutta pelastaa tätä kirjaa vai onko parempi jos vaan luovutan sen suhteen?
Et selvästikään asettanut UTF-8-koodausta jokaiseen neuvottuun kohtaan vaan vain osaan. Jos asetat sen joka paikkaan, kaikki ääkköset toimivat (paitsi jos olet jo tallentanut viestejä vanhassa muodossa).
Siis mihin kaikkialle tämä UTF- 8 pitää oikein laittaa??
PHP-koodiin, HTML-koodiin ja tekstieditorin tallennusasetuksiin, kuten tuossa linkittämässäni oppaassa erittäin selvästi sanotaan.
Erno kirjoitti:
En tiennytkään että PHP koodeilla on myös parasta ennen päiväys.
10 vuotta sitten oli käytössä PHP-versio 4.3 (tai vanhempi), nykyään 5.5. Myös monet muut asiat ovat kymmenessä vuodessa muuttuneet, kuten selaimet jolla sivustoja käytetään.
Putkassa on myös Metabolixin kirjoittama vinkki, jonka aiheena on vieraskirja tiedostoja käyttäen. Se ainakin oman kokemuksen perusteella toimii paremmin kuin tuo oppaan koodi. Se käyttää UTF-8:aa koodaukseen, joten ääkkösongelman pitäisi poistua.
Aihe on jo aika vanha, joten et voi enää vastata siihen.