Autor Zpráva
xhonzax
Profil
Zdravím, potřebuji poradit ohledně diakritiky na mé stránce. Snažím se aby stránky byly plně validní, ale nedaří se.

http://validator.webylon.info/check?uri=janbenedikt.cz

Jde o to, že validátor neustále vyhodnocuje web s chybami:

1.) Řádek 53, znak 49: ze znakové entita vznikne po nahrazení nedovolený znak.
<div id="obsah1">Jsem student SŠIEŘ v Rožnově pod Radhoštěm.

2.)Řádek 53, znak 63: ze znakové entita vznikne po nahrazení nedovolený znak.
<div id="obsah1">Jsem student SŠIEŘ v Rožnově pod Radhoštěm.

3.)Řádek 53, znak 83: ze znakové entita vznikne po nahrazení nedovolený znak.
<div id="obsah1">Jsem student SŠIEŘ v Rožnově pod Radhoštěm

Jsem z toho celkem znechucený, použil jsem metodu znakové entity a stále chyba přetrvává.

Předem děkuji za pomoc. :)
Juandev
Profil
A máš nastavené kódování utf-8?
Trejpa
Profil
xhonzax:
Protože jsi v kódování ISO 8859-2 použil entity, pro které tato tabulka znaků nemá přiřazeny znaky (&#138; &#158; &#154;), jejich číselná kombinace odpovídá jen tabulce Windows 1250. Znaky Šžš se v tabulce ISO 8859-2 nacházejí jinde (169, 190, 185). V případě entit je vhodné použít jednoznačné Unikódové umístění (&#352; &#382; &#353;).

To vše ale jen v případě, že by znaková sada použité znaky neobsahovala. Znaková sada ISO 8859-2 však znaky Šžš obsahuje a není tedy důvod je psát entitami.
shaggy
Profil
Juandev:
Nie, má nastavené ISO-8859-2, čo je rovnako použiteľný zápis pre naše končiny. Stačilo si pozrieť jeho stránku ;-)

xhonzax:
Používaš tam entity na zápis znakov s diakritikou (ale nie na všetky znaky), prečo?
Trejpa
Profil
xhonzax:
Ostatně předpokládám, že chyba vznikla tím, že jsi soubor uložil v kódování Windows-1250, ale v hlavičce jsi deklaroval ISO 8859-2. Nejjednodušší změna pro tebe bude upravit hlavičku na správné kódování, tedy <meta charset=windows-1250>.
Chamurappi
Profil
Reaguji na Juandeva a Trejpu:
Na použitém kódování vůbec nezáleží. Entity jsou vždy nezávislé na kódování, čísla v nich určují pozici znaku v Unicodu.

pro které tato tabulka znaků nemá přiřazeny znaky
Tohle platí i pro Unicode. Také má vyhrazený blok, který neobsahuje žádné znaky, a xhonzax se do něj trefil. Proto ty hlášky.
Trejpa
Profil
Chamurappi:
Nicméně prohlížeče si ty znaky z tabulky Windows 1250 vysosají a zobrazí je správně (co jiného jim zbývá).
Chamurappi
Profil
Reaguji na Trejpu:
Napadlo mě, že jestli si ty znaky české prohlížeče sosají z windows-1250 — co asi dělají prohlížeče jinde? Je tato množina zapovězených entit na rozdíl od všech ostatních závislá na jazyku prohlížeče, nebo na deklarované znakové sadě? Vyzkoušel jsem to. Vysosávají se vždy z windows-1252.

Živá ukázka entity číslo 159: Ÿ

Ve windows-1250 by se ukázalo malé Z s čárkou.
Ve windows-1252 by se ukázalo velké Y s přehlasováním.
V Unicodu je U+009F nezobrazitelný řídicí znak jménem „application program command“.
… zdá se, že všechny prohlížeče ukazují přehlasované ypsilon.
xhonzax
Profil
Trejpa:
Chyba vyřešena, chyby byly způsobeny špatným umístěním v unicode. Nyní již validátor hlásí plnou validitu.
Díky moc! :)
shaggy
Profil
xhonzax:
Stále však nechápem, prečo používaš entity.
xhonzax
Profil
shaggy:

Když jsem použil čistě text, tak validátor hlásil chybu, že si dosadil místo písmen ž a š otazník. Nyní již chybu po přepsání zpět neukazuje.
Nevím, celkem mě to zaskočilo. :D

V každém případě problém je vyřešen a všem moc děkuji. :)
Juandev
Profil
shaggy:
Stačilo si pozrieť jeho stránku
Málo času po ránu.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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