htmlentities() ei toimi

Ongelma on seuraavanlainen:

Käyttäjä antaa lomakkeella arvon "$nimi". Nimi muutetaan sitten entiteeteiksi "htmlentities($nimi, ENT_QUOTES, "UTF-8")" -pätkällä, ja tallennetaan tietokantaan (mysql).

Nimi on esim. "Tööt", ja nimi halutaan siirtää osoiterivillä tyyliin "index.php?nimi=Tööt" seuraavalle sivulle.

Kun seuraavalla sivulla on "$nimi = $_GET(nimi); print $nimi;", ei nimi tulostu. Ääkköset hanaavat vastaan.

Php-tiedoston tyyppi on UTF-8... Lieneekö tässä häikkää?
2538
Äänestä

Muut lukivat myös

Vastaukset 2

Vanhimmat

Miksi se pitää muuttaa entiteeteiksi? Äkköset toimii ääkkösinä uft-dokumenteissa ja tietokannoissa, osoiterivilla ne kyllä url-koodataan: ulrencode(), urldecode()

Äänestä

Kun lataat sivun selaimeen niin tunnistaako sivu koodauksen. Eli selaimesta riippuen katso minä on merkistöä selain käyttää ja onko se utf-8.

php:ssä on nimittäin sellainen kiemura utf-8 sivuja generoitaessa täytyy laittaa rivi

header("Content-Type: text/html; charset=UTF-8", true);
jotta selain tunnistaisi merkistön oikein.

print "";

sivun luonnissa ei toimi.    

Äänestä

Kommentoi aloitusta


No höh? kirjoitti:

Ongelma on seuraavanlainen:

Käyttäjä antaa lomakkeella arvon "$nimi". Nimi muutetaan sitten entiteeteiksi "htmlentities($nimi, ENT_QUOTES, "UTF-8")" -pätkällä, ja tallennetaan tietokantaan (mysql).

Nimi on esim. "Tööt", ja nimi halutaan siirtää osoiterivillä tyyliin "index.php?nimi=Tööt" seuraavalle sivulle.

Kun seuraavalla sivulla on "$nimi = $_GET(nimi); print $nimi;", ei nimi tulostu. Ääkköset hanaavat vastaan.

Php-tiedoston tyyppi on UTF-8... Lieneekö tässä häikkää?

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu