Já za hřích považuji použití jiných entit než <, & a případně ještě " uvnitř hodnot atributů. Přimhouřím oko ještě nad >, ale se vším ostatním jsou akorát problémy při exportu do XML. Používání entit pro znaky bez speciálního významu je samoúčelné, pokud je znaková sada podporuje přímo. A vytvářením stránek v čemkoliv jiném než v Unicode si člověk akorát zadělává na problémy.
Deset entitových hříchů HTML kodérů
Entity v HTML nabízejí mnoho možností vložení znaků, a je škoda je nevyužít. Na nejčastější situace, kdy by se měla objevit entita, ale kodér místo toho použije nějakou opisnou konstrukci, ukazuje článek 10 Entity Crimes You Really Shouldn't Commit. A jaké že to jsou zločiny? Například psaní copyrightu jako ( C ), znaku trademark pomocí <sup>TM</sup>, trojtečky (výpustky) pomocí tří teček, nesprávné použití mdash a ndash (resp. jejich nahrazování spojovníkem „-“) atd.
Dále čtěte…
- Minulost, současnost a budoucnost lokálního úložiště pro HTML5 aplikace 5. 4. 2012 0:00
- Canvas - říkejme tomu plocha na kreslení 23. 3. 2012 0:00
- HTML5 aplikace pro Windows Phone 7 2. 11. 2011 0:00
- Polyglot aneb webovým kodérem pod obojí 24. 10. 2011 0:00
- Jaký jazyk je pro webového kodéra nejdůležitější? 2. 9. 2011 0:00
Jediné rozumné entity
celé vláknoRe: Jediné rozumné entity
celé vlákno„Používání entit pro znaky bez speciálního významu je samoúčelné, pokud je znaková sada podporuje přímo.“
+1
prakticky všechno dnes píšeme v UTF-8 a používání (HTML) entit ztrácí smysl -- je hloupost opisovat znak pomocí &blabla; když ho můžu napsat rovnou v daném kódování. Diakritiku taky přece nepíšeme stylem: Čeština
Re: Jediné rozumné entity
celé vláknoEntity jsou reprezentace znaků, které nejsou snadno dosažitelné z klávesnice. Kde, prosím pěkně, je na standardní CZ klávesnici znak copyright, trademark, dlouhá a krátká pomlčka, nedělitelná mezera atd.? Připadá mi logičtější použít mdash, než si pamatovat, že to napíšu jako Alt+1234 (nebo kolik)...
Re: Jediné rozumné entity
celé vláknoHodně těch znaků na klávesnici je a ty zvývající můžou být… Nebo se o ně má postarat editor či redakční systém – viz třeba ta konverze (c) na ©. Každopádně zapisovat znaky formou entit do dokumentu, jehož kódování umožňuje přímý zápis těch znaků, je zvěrstvo.
Byť se to někdy používá – stejně tak jsem jednou vidět PHP/MySQL „aplikaci“, která si nerozuměla s češtinou, a tak se do databáze všechny české znaky ukládany jako &#XXX; No tak, fungovalo to, ale žádná krása to nebyla…
Re: Jediné rozumné entity
celé vláknoNavíc motivace pro entity je zdá se jiná: A given character encoding may not be able to express all characters of the document character set (HTML specifikace).
Ukládání do databáze by fungovalo jen do té doby, dokud bychom se nepokusili uložit delší řetězec do sloupce typu varchar.
Re: Jediné rozumné entity
celé vláknoJeště abych odpověděl na otázku:
© je Alt+Shift+C, ® Alt+Shift+R, to je standardní QWERTZ. Pomlčku píši Alt+- to už standard není, ale není problém si to nastavit, pokusím se zařídit, aby to bylo ve základu v distribucích, trojtečku … mám Alt+Shift+- atd. Nedělitelná mezera je Alt+mezera, to je ve standardním rozložení – na to pozor ve skriptech…
Re: Jediné rozumné entity
celé vláknoAni jedna z vašich zkratek mi na notebooku nefunguje. Nelce to tedy považovat za univerzální řešení, že? Není to třeba jen v Linuxu, nebo s vlatním rozložením klávesnice atd.? Tipnul bych si, že ano.
Re: Jediné rozumné entity
celé vláknoNo vidíte, mně zase před dvaceti lety na třiosmšestce s DOSem nešla psát písmena s háčky a čárkami. Asi to bude chtít nějaký modernější nástroj. Co se týče standardního a nestandardního rozhložení, tak jsem psal, co standard je a co jsem si doplňoval (ale není to žádná věda, na to ani nemusíte být opravdový odborník).
Re: Jediné rozumné entity
celé vláknoMně před dvaceti lety háčky a čárky fungovaly. Asi jsem měl modernější nástroj. Spíš mi řekněte, o co se opírá vaše víra, že každý kodér bude používat podobný systém jako vy, resp že si bude umět změnit rozložení? (Anebo toho spíš nechme, je to diskuse plodná jako eskymácké políčko s okurkama...)
Re: Jediné rozumné entity
celé vláknoTak ono to tehdy šlo třeba v T602 nebo ve Windows 3.1 po nainstalování zvláštního počešťujícího upgradu, ale v základu to v tom systému nebylo. Ale máte pravdu, nechme toho. Nedoukové s Windows asi holt vždycky budou používat polovičatá řešení, tak jim ty entity nechme :-)
Re: Jediné rozumné entity
celé vláknoNedoukům s Linuxem to taky nefunguje :P
Re: Jediné rozumné entity
celé vláknotak jak bylo popsáno to funguje v Mac OS (aktuálně tedy OS X)
psaní copyrightu jako ©
celé vláknoto vam udelal redakcni system, ne? Takhle je to prece spravne... Nemelo tam byt neco jako "(" c ")" ?
Re: psaní copyrightu jako ©
celé vláknoUdělal, udělal, a nechtěl se toho pustit... :/ Díky za upozornění.
Ctrl+f
celé vláknoMně na entitách vždycky dost vadilo, že jinak vypadají než se píšou. Zkuste si v prohlížeči přes ctrl+f vyhledávat něco z textu: …na noze a–b™. Nenajdete tři tečky, tm, a-b, podle prohlížeče možná ani "na noze". Přitom jasně vidíte, že tu jsou. Někdy to komplikuje i copy&paste.
Entity chápu pro tisk, líp vypadají, ale ne pro web, komplikují jeho použití. Pokud se nepletu, tak to snad neplatí pro uvozovky a ampersandy, ty jsou pro vyhledávání i kopírování bez problému i pro verzi v entitách.