Decimal code or entity?

Decimal code or entity?

am 16.05.2007 07:19:56 von borneobaru

Hi,

I'dd like to know which is the prefered code to display the umlaut mark, is
it in decimal code ë or the entity ë?

I have one page using iso-8859-1 where I just use the normal character 'ë'
but the other site uses utf-8 which asks for unicode.

Thanks everyone.
Karl

Re: Decimal code or entity?

am 16.05.2007 10:15:44 von Toby A Inkster

Karl C. wrote:

> I'dd like to know which is the prefered code to display the umlaut mark, is
> it in decimal code ë or the entity ë?
>
> I have one page using iso-8859-1 where I just use the normal character 'ë'
> but the other site uses utf-8 which asks for unicode.

If you're using ISO-8859-1 or UTF-8, then you can just type ë straight
into the file -- no need to reference it in any special way. This is
because both of those encodings include the ë character.

You only need to use an entity or character reference such as ë or
ë when you're working in an encoding that doesn't include ë. Examples
of such encodings are US-ASCII and Shift-JIS.

For example, say you're working on an HTML file in US-ASCII encoding.
US-ASCII is a fairly old character set with support for only about 100
printable characters. In particular, it doesn't include any characters
with diacritic marks (a.k.a. "accents") So because you can't represent ë
directly in the file, you can use one of HTML's methods of representing
that character:

ë
ë
ë

That way, the file is still valid US-ASCII, as you've not directly
included the non-US-ASCII character ë -- you've only included an ampersand
(&) and a few other characters, all of which are valid US-ASCII characters.
But an HTML User-Agent, which "mentally converts" all the files it reads
into Unicode, will know to read the entity as ë.

With regard to which you should use, it doesn't really matter except in
some exceptional circumstances.

Circumstance 1: Hexadecimal character references (ones beginning with
"&#x") tend to have slightly poorer support in some very old browsers, so
if you need to support those, then stick to the mnemonic entities (ë)
and decimal character references (ë).

Circumstance 2: XML only has five mnemonic character entities -- "&",
">", "<", """ and "'". Others can be defined, but should
not be relied on as they require the processing agent to read the DTD to
understand what they are. Many agents do not read the DTD (formally, they
don't have to), so will not understand the entities. For this reason, it's
wise to stick to only using numeric character references in XML, except for
"&", ">", "<" and """. (I leave out "'" because
Internet Explorer doesn't support it -- use "'" instead.) As XHTML is
a variety of XML, this advice applies to XHTML too.

--
Toby A Inkster BSc (Hons) ARCS
http://tobyinkster.co.uk/
Geek of ~ HTML/SQL/Perl/PHP/Python/Apache/Linux

Re: Decimal code or entity?

am 16.05.2007 11:54:11 von Andy Dingley

On 16 May, 09:15, Toby A Inkster
wrote:

> You only need to use an entity or character reference such as ë or
> ë when you're working in an encoding that doesn't include =EB.

Or when one of your cow-orkers is using an editor that works with some
other encoding.

Much of my current day is taken up by mucking out the cages of SQL
Server database developers who've opened one of our UTF-8 documents
with a Windows editor, silently converted it to UTF-16 and then broken
every part of our build process.

If you're not in an environment that's reliably unicode-clean or at
least =EB clean, then you might find that ë isn't necessary, but
it's still desirable to use it as it's less fragile.

Re: Decimal code or entity?

am 17.05.2007 20:15:26 von borneobaru

"Toby A Inkster" wrote in message
news:g6rqh4-8oj.ln1@ophelia.g5n.co.uk...
> Karl C. wrote:
>
>> I'dd like to know which is the prefered code to display the umlaut mark,
>> is
>> it in decimal code ë or the entity ë?
>>
>> I have one page using iso-8859-1 where I just use the normal character
>> 'ë'
>> but the other site uses utf-8 which asks for unicode.
>
> If you're using ISO-8859-1 or UTF-8, then you can just type ë straight
> into the file -- no need to reference it in any special way. This is
> because both of those encodings include the ë character.
>
> You only need to use an entity or character reference such as ë or
> ë when you're working in an encoding that doesn't include ë. Examples
> of such encodings are US-ASCII and Shift-JIS.
>
> For example, say you're working on an HTML file in US-ASCII encoding.
> US-ASCII is a fairly old character set with support for only about 100
> printable characters. In particular, it doesn't include any characters
> with diacritic marks (a.k.a. "accents") So because you can't represent ë
> directly in the file, you can use one of HTML's methods of representing
> that character:
>
> ë
> ë
> ë
>
> That way, the file is still valid US-ASCII, as you've not directly
> included the non-US-ASCII character ë -- you've only included an ampersand
> (&) and a few other characters, all of which are valid US-ASCII
> characters.
> But an HTML User-Agent, which "mentally converts" all the files it reads
> into Unicode, will know to read the entity as ë.
>
> With regard to which you should use, it doesn't really matter except in
> some exceptional circumstances.
>
> Circumstance 1: Hexadecimal character references (ones beginning with
> "&#x") tend to have slightly poorer support in some very old browsers, so
> if you need to support those, then stick to the mnemonic entities (ë)
> and decimal character references (ë).
>
> Circumstance 2: XML only has five mnemonic character entities -- "&",
> ">", "<", """ and "'". Others can be defined, but should
> not be relied on as they require the processing agent to read the DTD to
> understand what they are. Many agents do not read the DTD (formally, they
> don't have to), so will not understand the entities. For this reason, it's
> wise to stick to only using numeric character references in XML, except
> for
> "&", ">", "<" and """. (I leave out "'" because
> Internet Explorer doesn't support it -- use "'" instead.) As XHTML is
> a variety of XML, this advice applies to XHTML too.
>
> --
> Toby A Inkster BSc (Hons) ARCS
> http://tobyinkster.co.uk/
> Geek of ~ HTML/SQL/Perl/PHP/Python/Apache/Linux

Thanks for this informative answer, I've now decided to use ë to
represent 'ë'. I can only hope the three major searchengines Google, Yahoo
and MSN, respond well to it.

You've mentioned to put in the 'ë' character right away, I tried that, but
when using UTF-8 I have all the difficulties getting the page validated on
W3C, it actually stops checking the page because of these characters.
Without these 'ë' characters the page validates perfectly using XHTML
Transitional (even XHTML1.1).

I knew how to fix it, but the multiple choices to solve the same problem got
me confused, it is why I was asking which one of these alternatives would be
the prefered one.

Thanks once again!

Karl

Re: Decimal code or entity?

am 18.05.2007 11:44:36 von jkorpela

Scripsit Karl C.:

> Thanks for this informative answer,

You didn't need to quote it comprehensively. Just the opposite is true:
courtesy requires that you only quote the relevant part that you are
responding to.

> You've mentioned to put in the 'ë' character right away, I tried
> that, but when using UTF-8 I have all the difficulties getting the
> page validated on W3C,

That's because you didn't put the character there as UTF-8 encoded. Of
course, if you declare UTF-8 encoding, everything shall be interpreted
according to it.

If your authoring tool doesn't really support UTF-8, the question arises
whether you should use UTF-8 at all (instead of, say, ISO-8859-1).

> Without these 'ë' characters the page validates
> perfectly using XHTML Transitional (even XHTML1.1).

I hope you realize that XHTML as a delivery format of web pages almost never
gives any real benefits over HTML 4.01, and XHTML 1.1 causes some real
trouble e.g. if you ever plan to use client-side image maps for example.

--
Jukka K. Korpela ("Yucca")
http://www.cs.tut.fi/~jkorpela/

Re: Decimal code or entity?

am 18.05.2007 12:49:36 von Toby A Inkster

Karl C. wrote:

> You've mentioned to put in the 'ë' character right away, I tried that, but
> when using UTF-8 I have all the difficulties getting the page validated on
> W3C, it actually stops checking the page because of these characters.

Check your HTTP headers to see what encoding your server *claims* you are
using. The http-equiv='Content-Type' META tag also has some relevance, but
the real HTTP header is key here.

--
Toby A Inkster BSc (Hons) ARCS
http://tobyinkster.co.uk/
Geek of ~ HTML/SQL/Perl/PHP/Python/Apache/Linux