Doc #54263 [Opn->Asn]: htmlspecialchars - charsets are not equivalent

From: Date: Thu, 17 Mar 2011 02:45:03 +0000
Subject: Doc #54263 [Opn->Asn]: htmlspecialchars - charsets are not equivalent
References: 1  Groups: php.doc.bugs 
Request: Send a blank email to doc-bugs+get-6089@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: Open +Status: Assigned Type: Documentation Problem Package: Documentation problem PHP Version: 5.3.5 -Assigned To: +Assigned To: aharvey Block user comment: N Private report: N Previous Comments: ------------------------------------------------------------------------ [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

« previous php.doc.bugs (#6089) next »