I described a situation where MSIE for Windows would not post all of a
form's fields under fairly unique circumstances. This problem occurs in
MSIE 5, 5.5, and 6 (with the most recent hotfixes applied). No other
browsers seem to be affected. When:

1. A form is submitted with the enctype attribute set to
"multipart/form-data".

2. No http header is sent to explicitly select a character encoding that
matches form input, or if the http header and xml prolog and/or meta
http-equiv="content-type" tag do not select the correct character
encoding[1].

3. The user has input a character into one of the form fields, such as
[TM], a curly quote, or some other character that could have been
copy-pasted from a word processor, that is not defined in the character
set identified by some combination of an http header, xml prolog, and
meta tag.

4. There is at least one unchecked checkbox on contained in the form
(thanks Pablo!).

MSIE will not return all of the name/value pairs sent in the posted form
to the server. If you check the checkbox, the form will post normally.
The earliest reference to this problem that I could find was in a German
Usenet post[2,3], where the special character was the Euro sign.
Although the behaviour is a little buggy, we can't blame MSIE for
getting it wrong.

I've posted a new version of my page that sends the correct header:

<?php header('Content-type: text/html; charset=utf-8'); ?>

And that uses the correct meta tag:

<meta http-equiv="content-type" content="text/html; charset=utf-8" />

I've omitted the xml prolog because of other problems that it can cause
with MSIE 6.

The page is still posted here:

http://hartshorne.ca/sandbox.php

Thanks!!

Beau

1. <http://ppewww.ph.gla.ac.uk/~flavell/charset/checklist>
2. <http://ppewww.ph.gla.ac.uk/~flavell/charset/form-i18n.html>
3.
<http://groups.google.com/groups?selm=afmkl9%24fghgm%243%40ID-16486.news
.dfncis.de>

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to