Doc #54263 [Asn->Csd]: htmlspecialchars - charsets are not equivalent
| From: | aharvey@php.net | Date: | Thu, 17 Mar 2011 02:57:25 +0000 |
| Subject: | Doc #54263 [Asn->Csd]: htmlspecialchars - charsets are not equivalent | ||
| References: | 1 | Groups: | php.doc.bugs |
| Request: | Send a blank email to doc-bugs+get-6091@lists.php.net to get a copy of this message | ||
Edit report at http://bugs.php.net/bug.php?id=54263&edit=1
ID: 54263
Updated by: aharvey@php.net
Reported by: anthon dot pang at gmail dot com
Summary: htmlspecialchars - charsets are not equivalent
-Status: Assigned
+Status: Closed
Type: Documentation Problem
Package: Documentation problem
PHP Version: 5.3.5
Assigned To: aharvey
Block user comment: N
Private report: N
New Comment:
This bug has been fixed in the documentation's XML sources. Since the
online and downloadable versions of the documentation need some time
to get updated, we would like to ask you to be a bit patient.
Thank you for the report, and for helping us make our documentation
better.
Previous Comments:
------------------------------------------------------------------------
[2011-03-17 03:57:22] aharvey@php.net
Automatic comment from SVN on behalf of aharvey
Revision: http://svn.php.net/viewvc/?view=revision&revision=309322
Log: Fix doc bug #54263 (htmlspecialchars - charsets are not
equivalent).
------------------------------------------------------------------------
[2011-03-16 03:35:46] anthon dot pang at gmail dot com
Description:
------------
---
From manual page:
http://www.php.net/function.htmlspecialchars#Parameters
---
For the purposes of this function, the charsets ISO-8859-1, ISO-8859-15,
UTF-8, cp866, cp1251, cp1252, and KOI8-R are effectively equivalent, as
the characters affected by htmlspecialchars() occupy the same positions
in all of these charsets.
---
This is misleading. (The paragraph was introduced by #49412.)
Example:
var_dump( htmlspecialchars( "\xe8", ENT_QUOTES, 'UTF-8' ) ) returns:
PHP 5.2.1: string(1) "�"
but in later versions:
PHP 5.2.6: string(0) ""
PHP 5.3.5: string(0) ""
Test script:
---------------
echo htmlspecialchars( "\xe8", ENT_QUOTES, 'UTF-8' );
Expected result:
----------------
I suggest removing the aforementioned paragraph from the manpage, and
add a note under Changelog or Return Values, stating that, as of php
5.2.5 (judging from php.net/ChangeLog-5.php), the function can return an
empty string if there are invalid byte sequences for the specified
charset.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/bug.php?id=54263&edit=1