Autor Zpráva
Steve_RH
Profil
Ahoj, mám problem, mám takovýto skript
<?php
class Ucet{
public $nickname;//přezdívka
public $jmeno;//jméno a příjmení

}
public function __toString (){
$str = "Přezdívka:".$this->nickname. "<br> Jméno:".$this->jmeno;
echo $str;
}
}
$novyUcet = new Ucet ();
$novyUcet->nickname = "St3v3";
$novyUcet->jmeno = "Štefan Tučný";
$novyUcet->__toString();

?>

To mi sice vypíše to, co potřebuju, ale místo "Š" ve slově Štefan mi to napíše "?tefan".
Úplně stejně je to i s písmenem "ž".
Divné je, že když mám jenom echo "žš" tak to nevypíše "??", ale normálně "žš".
Můžete mi prosím poradit? Díky:)
Joker
Profil
Nejspíš je soubor uložený v jiném kódování, než jaké je uvedené v hlavičce stránky.
japlavaren
Profil
mySQL_query("SET CHARACTER SET utf8");
mySQL_query("SET NAMES utf8"); -vecsinou pomaha
-mne nevypisume Č Ľ Ď, ale na to to nepomaha...
Steve_RH
Profil
Tak sem to zkousel a napsalo mi to tuhle chybu...

Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:Program FilesxampphtdocsuceniObjekt2.php on line 9

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in C:Program FilesxampphtdocsuceniObjekt2.php on line 9

Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:Program FilesxampphtdocsuceniObjekt2.php on line 10

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in C:Program FilesxampphtdocsuceniObjekt2.php on line 10
Joker
Profil
Steve_RH
To co psal japlavaren je dotaz do databáze, pokud žádnou databázi nepoužíváte, tak to ignorujte. Problém bude nejspíš v kódování souboru.

Pokud databázi používáte, tak máte špatně nastavené připojení.
Mireczech
Profil
Ja osobne myslim, ze data z DB taha, protozekdyz si to vypise "rucne" ty pismena, tak to pise spravne. Takze kodobani souboru a posilana hlavicka bude pravdepodobne vporadku.
Ale na DB to taky mocnevypada, teda ne na MySQL (podle tech chybovych zprav).

Takze od autora prispevku by bylo nejlepsi kdyby sem hodil oba zdrojaky kteryma vypisuje v te podobe v ktere to spousti.
Steve_RH
Profil
Tak tady je celej ten prvni zdrojak, se kterym to nefunguje:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled</title>
</head>
<body>
<?php
class Ucet{
public $nickname;//přezdívka
public $jmeno;//jméno a příjmení

}
public function __toString (){
$str = "Přezdívka:".$this->nickname. "<br> Jméno:".$this->jmeno;
echo $str;
}
}
$novyUcet = new Ucet ();
$novyUcet->nickname = "St3v3";
$novyUcet->jmeno = "Štefan Tučný";
$novyUcet->__toString();

?>
</body>
</html>

A s tímhle to funguje:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled</title>
</head>
<body>
<?php
echo "žš";

?>
</body>
</html>
nightfish
Profil
Steve_RH
v obou dvou souborech ti chybí informace o použitém kódování

<meta http-equiv="Content-type" content="text/html; charset=iso-8859-2">
kde za charset dopiš kódování, ve kterém je soubor uložen...
Steve_RH
Profil
nightfish
ani takhle to nefunguje...
nightfish
Profil
Steve_RH
tak asi něco děláš špatně - vystav tu stránku někam na web a pošli odkaz...
možná ti to překódovává webserver
sicario
Profil
BTW podivne definovana magicka metoda __toString().
Steve_RH
Profil
sicario
je to delany podle ucebnice... K cemu vubec slouzi ta magicka metoda __toString()?
Steve_RH
Profil
Tak sem to nahral na svoje internetovy stranky, a tam to normalne funguje, problem byl asi nekde v konfiguraci Apache...
nightfish
Profil
Steve_RH
možná máš v apachi nastaveno AddDefaultCharset...
Toto téma je uzamčeno. Odpověď nelze zaslat.