Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.php > #12531

Re: Processing accented characters submitted from forms

Message-ID <9721308.9kJrD6T3nN@PointedEars.de> (permalink)
From Thomas 'PointedEars' Lahn <PointedEars@web.de>
Organization PointedEars Software (PES)
Date 2014-01-03 17:08 +0100
Subject Re: Processing accented characters submitted from forms
Newsgroups comp.lang.php
References (1 earlier) <52c5c37e$0$9502$9b4e6d93@newsspool1.arcor-online.net> <la67jg$c3s$2@dont-email.me> <77162636.WfCxeAihnq@PointedEars.de> <la6cis$c3s$5@dont-email.me> <2759689.Qh6PuGQvD6@PointedEars.de>

Show all headers | View raw


Thomas 'Ingrid' Lahn wrote:

> JohnT wrote:
>> On Fri, 03 Jan 2014 13:53:04 +0100, Thomas 'PointedEars' Lahn wrote:
>>> JohnT wrote:
>>>> [UTF-8] is the PHP 5 default,
>>> 
>>> How did you get this idea?
>> 
>> http://uk1.php.net/manual/en/function.htmlentities.php
>> 
>> says:
>>     Like htmlspecialchars(), htmlentities() takes an optional third
>> argument encoding which defines encoding used in conversion. If omitted,
>> the default value for this argument is ISO-8859-1 in versions of PHP
>> prior to 5.4.0, and UTF-8 from PHP 5.4.0 onwards.
>
> […]
> That said, htmlentities() is insufficient to represent arbitrary Unicode
> characters, encoded with UTF-8 server-side, in an HTML document if the
> document encoding is not UTF-8; you would have to use htmlspecialchars()
> which has the same default parameter value since PHP 5.4.0.
> 
> <http://php.net/htmlspecialchars>

Actually, it is worse.  In such a document, to refer to even those Unicode 
characters for which there is *not* a character entity reference in HTML, 
you have to use mb_encode_numericentity():

$ php -r 'echo mb_encode_numericentity("∎", array(0x0, 0x10000, 0, 0xfffff), 
"UTF-8") . PHP_EOL;'
&#8718;

$ locale
LANG=de_CH.UTF-8
LANGUAGE=
LC_CTYPE="de_CH.UTF-8"
LC_NUMERIC="de_CH.UTF-8"
LC_TIME="de_CH.UTF-8"
LC_COLLATE="de_CH.UTF-8"
LC_MONETARY="de_CH.UTF-8"
LC_MESSAGES=en_US.UTF-8
LC_PAPER="de_CH.UTF-8"
LC_NAME="de_CH.UTF-8"
LC_ADDRESS="de_CH.UTF-8"
LC_TELEPHONE="de_CH.UTF-8"
LC_MEASUREMENT="de_CH.UTF-8"
LC_IDENTIFICATION="de_CH.UTF-8"
LC_ALL=

----------

<http://php.net/mb_encode_numericentity>

None of this is necessary if you use UTF-8 throughout.


PointedEars
-- 
Danny Goodman's books are out of date and teach practices that are
positively harmful for cross-browser scripting.
  -- Richard Cornford, cljs, <cife6q$253$1$8300dec7@news.demon.co.uk> (2004)

Back to comp.lang.php | Previous | Next — Previous in thread | Find similar | Unroll thread


Thread

Processing accented characters submitted from forms JohnT <john-sospam@jtresponse.co.uk> - 2014-01-02 15:55 +0000
  Re: Processing accented characters submitted from forms "J.O. Aho" <user@example.net> - 2014-01-02 18:15 +0100
    Re: Processing accented characters submitted from forms JohnT <john-sospam@jtresponse.co.uk> - 2014-01-03 11:37 +0000
      Re: Processing accented characters submitted from forms Ben Bacarisse <ben.usenet@bsb.me.uk> - 2014-01-03 12:37 +0000
        Re: Processing accented characters submitted from forms Tim Streater <timstreater@greenbee.net> - 2014-01-03 12:52 +0000
          Re: Processing accented characters submitted from forms JohnT <john-sospam@jtresponse.co.uk> - 2014-01-03 13:00 +0000
            Re: Processing accented characters submitted from forms Jerry Stuckle <jstucklex@attglobal.net> - 2014-01-03 10:09 -0500
            Re: Processing accented characters submitted from forms "J.O. Aho" <user@example.net> - 2014-01-03 18:57 +0100
        Re: Processing accented characters submitted from forms JohnT <john-sospam@jtresponse.co.uk> - 2014-01-03 12:53 +0000
          Re: Processing accented characters submitted from forms Ben Bacarisse <ben.usenet@bsb.me.uk> - 2014-01-03 14:30 +0000
            Re: Processing accented characters submitted from forms Jerry Stuckle <jstucklex@attglobal.net> - 2014-01-03 10:11 -0500
              Re: Processing accented characters submitted from forms Ben Bacarisse <ben.usenet@bsb.me.uk> - 2014-01-03 20:28 +0000
                Re: Processing accented characters submitted from forms Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2014-01-03 22:54 +0100
                Re: Processing accented characters submitted from forms Tim Streater <timstreater@greenbee.net> - 2014-01-03 21:58 +0000
                Re: Processing accented characters submitted from forms Ben Bacarisse <ben.usenet@bsb.me.uk> - 2014-01-03 22:01 +0000
                Re: Processing accented characters submitted from forms Jerry Stuckle <jstucklex@attglobal.net> - 2014-01-03 19:59 -0500
  Re: Processing accented characters submitted from forms Christoph Michael Becker <cmbecker69@arcor.de> - 2014-01-02 20:52 +0100
    Re: Processing accented characters submitted from forms JohnT <john-sospam@jtresponse.co.uk> - 2014-01-03 11:40 +0000
      Re: Processing accented characters submitted from forms Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2014-01-03 13:53 +0100
        Re: Processing accented characters submitted from forms JohnT <john-sospam@jtresponse.co.uk> - 2014-01-03 13:05 +0000
          Re: Processing accented characters submitted from forms Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2014-01-03 16:03 +0100
            Re: Processing accented characters submitted from forms Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2014-01-03 17:08 +0100

csiph-web