<html>
<head>
<style>
P
{
margin:0px;
padding:0px
}
body
{
FONT-SIZE: 10pt;
FONT-FAMILY:Tahoma
}
</style>
</head>
<body>&gt; I&nbsp;see&nbsp;nothing&nbsp;there&nbsp;that&nbsp;says&nbsp;IE&nbsp;scans&nbsp;documents&nbsp;twice.<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -Well, you shouldn't!<BR>
&nbsp;<BR>
Why do you always have to&nbsp;read me wrong?!<BR>
The topic was Charset encoding not ie scanning.<BR>
That was a slight&nbsp;digression lead by his&nbsp;incorrect remark<BR>
but still expanding the same topic.<BR>
&nbsp;<BR>
But, Now I'll do something smarter... <BR>
***<BR>
<H2><A name=h-5.2>5.2</A> <A name=encodings>Character encodings</A></H2>
/...&nbsp;<SPAN class=index-def title="character &#10;encoding"><A name=didx-character_encoding><DFN>character encoding</DFN></A></SPAN> .../<BR>
The "charset" parameter identifies a character encoding, which is a method of converting a sequence of bytes <BR>
into a sequence of characters. /.../The conversion method can range from simple one-to-one correspondence to <BR>
complex switching schemes or algorithms.<BR>
&nbsp;<BR>
A simple one-byte-per-character encoding technique is not sufficient for text strings over a character repertoire as <BR>
large as <A class=normref href="http://www.w3.org/TR/html401/references.html#ref-ISO10646" rel=biblioentry><U><FONT color=#0000ff>[ISO10646]</FONT></U></A>. There are several different encodings of parts of <A class=normref href="http://www.w3.org/TR/html401/references.html#ref-ISO10646" rel=biblioentry><U><FONT color=#0000ff>[ISO10646]</FONT></U></A> in addition to encodings of the <BR>
entire character set (such as UCS-4).<BR>
<BR><FONT color=#008000>Attention here!</FONT><BR>
<H3><A name=h-5.2.1>5.2.1</A> <SPAN class=index-inst title="character &#10;encoding::choice of"><A name=idx-character_encoding-1>Choosing an encoding</A></SPAN></H3>
Authoring tools (e.g., text editors) may encode HTML documents in the character encoding of their choice, and the <BR>
choice largely depends on the conventions used by the system software. These tools may employ any convenient <BR>
encoding that covers most of the characters contained in the document, provided the encoding is <A href="http://www.w3.org/TR/html401/charset.html#spec-char-encoding"><U><FONT color=#800080>correctly labeled.</FONT></U></A> <BR>
Occasional characters that fall outside this encoding may still be represented by <A href="http://www.w3.org/TR/html401/charset.html#entities"><U><FONT color=#800080>character references</FONT></U></A>. These always <BR>
refer to the document character set, not the character encoding.<BR>
<FONT color=#ff0000>//!This one is tricky:</FONT><BR>
Servers and proxies may change a character encoding (called <EM>transcoding</EM>) on the fly to meet the requests of user <BR>
agents (see section 14.2 of <A class=normref href="http://www.w3.org/TR/html401/references.html#ref-RFC2616" rel=biblioentry><U><FONT color=#0000ff>[RFC2616]</FONT></U></A>, the "Accept-Charset" HTTP request header). Servers and proxies do not have <BR>
to serve a document in a character encoding that covers the entire document character set.<BR>
<SPAN class=index-inst title="character encoding::common examples"><A name=idx-character_encoding-2>Commonly</A></SPAN> used character encodings on the Web include ISO-8859-1 (also referred to as "Latin-1"; usable for most <BR>
Western European languages), ISO-8859-5 (which supports Cyrillic), SHIFT_JIS (a Japanese encoding), EUC-JP (another <BR>
Japanese encoding), and UTF-8 (an encoding of ISO 10646 using a different number of bytes for different characters). <BR>
Names for character encodings are case-insensitive, so that for example "SHIFT_JIS", "Shift_JIS", and "shift_jis" are equivalent.<BR>
This specification does not mandate which character encodings a user agent must support.<BR>
<A href="http://www.w3.org/TR/html401/conform.html#conformance"><U><FONT color=#800080>Conforming user agents</FONT></U></A> must correctly map to ISO 10646 all characters in any character encodings that they recognize <BR>
(or they must behave as if they did).<BR>
&nbsp;<BR>
<FONT color=#008000>//More attention here:</FONT><BR>
<H4>Notes on specific encodings<A name=h-5.2.1.1>&nbsp;</A></H4>
When HTML text is transmitted in <SPAN class=index-inst title="character &#10;encoding::UTF-16|UTF-16"><A name=idx-character_encoding-3>UTF-16</A></SPAN> (charset=UTF-16), text data should be transmitted in network byte order ("big-endian", <BR>
high-order byte first) in accordance with <A class=normref href="http://www.w3.org/TR/html401/references.html#ref-ISO10646" rel=biblioentry><U><FONT color=#0000ff>[ISO10646]</FONT></U></A>, Section 6.3 and <A class=normref href="http://www.w3.org/TR/html401/references.html#ref-UNICODE" rel=biblioentry><U><FONT color=#0000ff>[UNICODE]</FONT></U></A>, clause C3, page 3-1.<BR>
Furthermore, to maximize chances of proper interpretation, it is recommended that documents transmitted as UTF-16 always begin <BR>
with a ZERO-WIDTH NON-BREAKING SPACE character (hexadecimal FEFF, also called Byte Order Mark (BOM)) which, when byte-reversed, <BR>
becomes hexadecimal FFFE, a character guaranteed never to be assigned. Thus, a user-agent receiving a hexadecimal FFFE as the first <BR>
bytes of a text would know that bytes have to be reversed for the remainder of the text.<BR>
The <SPAN class=index-inst title="character encoding::UTF-1|UTF-1"><A name=idx-character_encoding-4>UTF-1</A></SPAN> transformation format of <A class=normref href="http://www.w3.org/TR/html401/references.html#ref-ISO10646" rel=biblioentry><U><FONT color=#0000ff>[ISO10646]</FONT></U></A> (registered by IANA as ISO-10646-UTF-1), should not be used. For information about <BR>
ISO 8859-8 and the bidirectional algorithm, please consult the section on <A href="http://www.w3.org/TR/html401/struct/dirlang.html#bidi88598"><U><FONT color=#0000ff>bidirectionality and character encoding</FONT></U></A>.<BR>
<BR><FONT color=#008000>//This one goes for the Founder of PHP</FONT><BR>
<H3><A name=h-5.2.2>5.2.2</A> <SPAN class=index-inst title="character &#10;encoding::specification of"><A name=spec-char-encoding>Specifying the character encoding</A></SPAN></H3>
<FONT color=#ff0000>How does a server determine which character encoding applies for a document it serves? Some servers examine the first few bytes of </FONT><BR>
<FONT color=#ff0000>the document, or check against a database of known files and encodings. Many modern servers give Web masters more control over </FONT><BR>
<FONT color=#ff0000>charset configuration than old servers do. Web masters should use these mechanisms to send out a "charset" parameter whenever possible, </FONT><BR>
<FONT color=#ff0000>but should take care not to identify a document with the wrong "charset" parameter value.</FONT><BR>
<FONT color=#ff0000>How does a user agent know which character encoding has been used? The server should provide this information. The most straightforward </FONT><BR>
<FONT color=#ff0000>way for a server to inform the user agent about the character encoding of the document is to use the "charset" parameter of the <SPAN class=index-inst title="HTTP::Content-Type header|Content-Type header"><A name=idx-HTTP>"Content-Type"</A></SPAN> </FONT><BR>
<FONT color=#ff0000>header field of the HTTP protocol (</FONT><A class=normref href="http://www.w3.org/TR/html401/references.html#ref-RFC2616" rel=biblioentry><U><FONT color=#ff0000>[RFC2616]</FONT></U></A><FONT color=#ff0000>, sections 3.4 and 14.17) For example, the following HTTP header announces that the character </FONT><BR>
<FONT color=#ff0000>encoding is EUC-JP:</FONT><BR><PRE>Content-Type: text/html; charset=EUC-JP
</PRE>
Please consult the section on <A href="http://www.w3.org/TR/html401/conform.html"><U><FONT color=#800080>conformance</FONT></U></A> for the definition of <A href="http://www.w3.org/TR/html401/conform.html#text-html"><U><FONT color=#800080>text/html</FONT></U></A>.<BR>
The HTTP protocol (<A class=normref href="http://www.w3.org/TR/html401/references.html#ref-RFC2616" rel=biblioentry><U><FONT color=#0000ff>[RFC2616]</FONT></U></A>, section 3.7.1) mentions ISO-8859-1 as a default character encoding when the "charset" parameter is absent from <BR>
the "Content-Type" header field. In practice, this recommendation has proved useless because some servers don't allow a "charset" parameter to <BR>
be sent, and others may not be configured to send the parameter. Therefore, user agents must not assume any default value for the "charset" parameter.<BR>
To address server or configuration limitations, HTML documents may include explicit information about the document's character encoding; the <A class=noxref href="http://www.w3.org/TR/html401/struct/global.html#edef-META"><SAMP class=einst><U><FONT color=#800080>META</FONT></U></SAMP></A> <BR>
element can be used to provide user agents with this information.<BR>
For example, to specify that the character encoding of the current document is "EUC-JP", a document should include the following <A class=noxref href="http://www.w3.org/TR/html401/struct/global.html#edef-META"><SAMP class=einst><U><FONT color=#800080>META</FONT></U></SAMP></A> declaration:<BR><PRE class=example>&lt;META http-equiv="Content-Type" content="text/html; charset=EUC-JP"&gt;
</PRE>
The <A class=noxref href="http://www.w3.org/TR/html401/struct/global.html#edef-META"><SAMP class=einst><U><FONT color=#800080>META</FONT></U></SAMP></A> declaration must only be used when the character encoding is organized such that ASCII-valued bytes stand for ASCII characters (at least <BR>
until the <A class=noxref href="http://www.w3.org/TR/html401/struct/global.html#edef-META"><SAMP class=einst><U><FONT color=#800080>META</FONT></U></SAMP></A> element is parsed). <A class=noxref href="http://www.w3.org/TR/html401/struct/global.html#edef-META"><SAMP class=einst><U><FONT color=#800080>META</FONT></U></SAMP></A> declarations should appear as early as possible in the <A class=noxref href="http://www.w3.org/TR/html401/struct/global.html#edef-HEAD"><SAMP class=einst><U><FONT color=#800080>HEAD</FONT></U></SAMP></A> element.<BR>
For cases where neither the HTTP protocol nor the <A class=noxref href="http://www.w3.org/TR/html401/struct/global.html#edef-META"><SAMP class=einst><U><FONT color=#800080>META</FONT></U></SAMP></A> element provides information about the character encoding of a document, HTML also provides <BR>
the <A class=noxref href="http://www.w3.org/TR/html401/struct/links.html#adef-charset"><SAMP class=ainst><U><FONT color=#0000ff>charset</FONT></U></SAMP></A> attribute on several elements. By combining these mechanisms, an author can greatly improve the chances that, when the user retrieves a <BR>
resource, the user agent will recognize the character encoding.<BR>
To sum up, conforming user agents must observe the following <SPAN class=index-inst title="character encoding::user agent's determination of"><A name=idx-character_encoding-6>priorities</A></SPAN> when determining a document's <SPAN class=index-inst title="character encoding::default|default::character &#10;encoding"><A name=idx-character_encoding-7>character encoding</A></SPAN> (from highest priority to lowest):<BR>
<OL>
<LI>An HTTP "charset" parameter in a "Content-Type" field. 
<LI>A <A class=noxref href="http://www.w3.org/TR/html401/struct/global.html#edef-META"><SAMP class=einst><U><FONT color=#800080>META</FONT></U></SAMP></A> declaration with "http-equiv" set to "Content-Type" and a value set for "charset". 
<LI>The <A class=noxref href="http://www.w3.org/TR/html401/struct/links.html#adef-charset"><SAMP class=ainst><U><FONT color=#0000ff>charset</FONT></U></SAMP></A> attribute set on an element that designates an external resource. </LI></OL>
In addition to this list of priorities, the user agent may use heuristics and user settings. For example, many user agents use a heuristic to distinguish the <BR>
various encodings used for Japanese text. Also, user agents typically have a user-definable, local default character encoding which they apply in the <BR>
absence of other indicators.<BR>
User agents may provide a mechanism that allows users to override incorrect "charset" information. However, if a user agent offers such a mechanism, <BR>
it should only offer it for browsing and not for editing, to avoid the creation of Web pages marked with an incorrect "charset" parameter.<BR>
<DIV class=note>
<EM><STRONG>Note.</STRONG> If, for a specific application, it becomes necessary to refer to characters outside <A class=normref href="http://www.w3.org/TR/html401/references.html#ref-ISO10646" rel=biblioentry><U><FONT color=#0000ff>[ISO10646]</FONT></U></A>, characters should be assigned to a private zone to </EM><BR>
<EM>avoid conflicts with present or future versions of the standard. This is highly discouraged, however, for reasons of portability.</EM><BR>
<EM></EM>&nbsp;<BR>
<EM>ETC</EM><BR>
<EM></EM>&nbsp;<BR></DIV>
<BR>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Troy&nbsp;III<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;progressive&nbsp;art&nbsp;enterprise<BR>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<BR><BR><br /><hr />With MSN Spaces email straight to your blog. Upload jokes, photos and more. It's free! <a href='http://clk.atdmt.com/MSN/go/msnnksac0030000001msn/direct/01/?href=http://www.imagine-msn.com/spaces' target='_new'>It's free!</a></body>
</html>