Autor Zpráva
Anonymní
Profil *
Vůbec tomu nerozumim, ale mam index.php napsan v Ansi v noteapadu ++ a potřebuju rozchodit češtinu jak v html textu tak v php, ve kterém vypisuji údaje z databaze. Z databaze je to ok, tam mam latin2 ,ale potřebuju ošetřit i tu html část. Ted mam v meta tuto : ISO-8859-2 a nefunguje, nejde Ž. Co mam tedy do meta dát? win-1250 taky nefunguje.
Díky a omlouvám se, že zahlcuji diskusi podobnými dotazy, na které se tu již někd odpovídalo, ale už se v tom ztrácim.
Miloš
Profil
Vhodné je, aby všechny soubory, ze kterých poskládáš stránku, měly jednotné kódování.
Pokud má některý soubor jiné, je potřeba ho před vložením překódovat.
Výsledná stránka se nemůže skládat z různě kódovaných částí, to je přeci nesmysl.
Janina
Profil
mysql_query("SET NAMES 'cp1250';") a v meta taky win 1250 ale v db porovnání latin2, vadí to? uloženo v asci v notepadu.

btw: předch. příspěvek taky muj.
Kajman_
Profil *
Zkuste zmiznout ten středník za cp1250 - kvůli němu se nejspíš dotaz vůbec neprovede.
lordfrikk
Profil
Doporučuji přejít na UTF-8, používání windows-1250 patří do roku 2000 a může způsobovat pro ne-Windows uživatele problémy. Co se týče samotného SQL, tak kromě SET NAMES cp1250 přidej pro jistotu i SET CHARACTER SET cp1250. Správný meta tag není win-1250, ale windows-1250. Středníky v MySQL slouží standartně pro oddělovaní jednotlivých dotazů, to problém činit nemělo.
Miloš
Profil
lordfrikk
Osobně sice UTF-8 taky považuji za pohodlnější, ale přesto:
používání windows-1250 … může způsobovat pro ne-Windows uživatele problémy
Jaké problémy?
lordfrikk
Profil
Chybně zobrazené znaky? (logicky)
Miloš
Profil
lordfrikk
Chybně zobrazené znaky? (logicky)
Jestli je to odpověď na moji otázku, pak bych doplnil, že chybně zobrazené znaky se mohou vyskytnout zcela nezávisle na tom, jestli někdo má/namá windows a jestli je to windows-1250, utf-8 nebo iso-8859-2.
Pokud zapíšu správně kódovou stránku, pak je naprosto jedno, jaké kódování použiju a nedovedu si představit jediný problém se zobrazením.
lordfrikk
Profil
Problém může být právě v tom, že windows-1250 není žádný standard jako iso-8859-2, ale (jako vše u Microsoftu) proprietární kódování.
Miloš
Profil
lordfrikk
windows-1250 není žádný standard
Není to standard proto, že to není iso?


Problém může být
To je právě to může – konkrétní příklad by nebyl? Protože jinak se pohybujeme v říši dohadů a pohádek.
lordfrikk
Profil
Rád bych měl, ty si se nikdy s problémem nesetkal?
veteran
Profil *
Mam takyto kod:
<?php
require_once("inc/db.php");

$_POST['nazov'] = $nazov;

$_POST['adresa'] = $adresa;

$_POST['den'] = $den;

$_POST['mesiac'] = $mesiac;

$_POST['rok'] = $rok;



$sql = mysql_query("INSERT INTO tlaciva(nazov,adresa,den,mesiac,rok)  VALUES('$nazov','$adresa','$den','$mesiac','$rok')");

$sql = mysql_query("SET NAMES 'cp1250'");

if($sql){

echo "Z&aacute;znam bol &uacute;spe&scaron;ne vložen&yacute; do datab&aacute;zy!";

} else {

echo "Z&aacute;znam sa nepodarilo vložiť do datab&aacute;zy!";

}

mysql_close();

?>


Vsetko mi zobrazuje OK az na á í é ý ú ô (tvar: &aacute; &ocirc;). Ostatne znaky, ktore maju takyto tvar ž mi idu. Co stym mam robit? A co ak chcem do DB vkladat HTML tagy a znaky ako <>"" mi prerobi takto &lt; &gt; &quot; &quot;. Dakujem za odpoved.
lordfrikk
Profil
Na převod &lt; zpět na HTML tagy je funkce htmlspecialchars_decode.
veteran
Profil *
Na převod &lt; zpět na HTML tagy je funkce htmlspecialchars_decode.
diky. A co mam robit s áéíóúýô ??
lordfrikk
Profil
Věř, že kdybych věděl, co to může způsobovat, tak bych to napsal v prvním příspěvku :)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0