php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Doc Bug #54263 htmlspecialchars - charsets are not equivalent
Submitted: 2011-03-16 03:35 UTC Modified: 2011-03-17 03:57 UTC
From: anthon dot pang at gmail dot com Assigned: aharvey (profile)
Status: Closed Package: Documentation problem
PHP Version: 5.3.5 OS:
Private report: No CVE-ID: None
View Developer Edit
Welcome! If you don't have a Git account, you can't do anything here.
If you reported this bug, you can edit this bug over here.
(description)
Block user comment
Status: Assign to:
Package:
Bug Type:
Summary:
From: anthon dot pang at gmail dot com
New email:
PHP Version: OS:

 

 [2011-03-16 03:35 UTC] 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.



Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2011-03-17 03:45 UTC] aharvey@php.net
-Status: Open +Status: Assigned -Assigned To: +Assigned To: aharvey
 [2011-03-17 03:57 UTC] 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-17 03:57 UTC] aharvey@php.net
-Status: Assigned +Status: Closed
 [2011-03-17 03:57 UTC] aharvey@php.net
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.


 
PHP Copyright © 2001-2026 The PHP Group
All rights reserved.
Last updated: Sat Oct 10 20:00:02 2026 UTC