|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Request #60429 utf8_encode and utf8_decode functions should be deprecated
Submitted: 2011-12-02 01:37 UTC Modified: 2017-10-24 08:02 UTC
Avg. Score:3.3 ± 1.6
Reproduced:4 of 5 (80.0%)
Same Version:0 (0.0%)
Same OS:0 (0.0%)
From: deceze at gmail dot com Assigned:
Status: Open Package: *XML functions
PHP Version: Irrelevant OS:
Private report: No CVE-ID: None
Have you experienced this issue?
Rate the importance of this bug to you:

 [2011-12-02 01:37 UTC] deceze at gmail dot com
The purpose of the functions utf8_encode and utf8_decode are time and again 
misunderstood and have probably caused more encoding related problems than they 
have solved. The biggest reason for this is their naming. Their purpose is to 
*convert* the encoding of a string from ISO-8859-1 to UTF-8, yet they are named 
in a way that suggests some other magical function that is necessary to work 
with UTF-8 text. Users looking for "UTF-8 support" in their app quickly find 
these functions due to their naming and use them without understanding what they 
do, often only testing with ASCII text which appears to work fine of first 

Why is ISO-8859-1 presumed to be the default encoding when converting to UTF-8, 
hence why do these functions occupy such a prominent spot in the namespace? 
There's simply no good reason for it.

The same functionality is available through iconv and mb_convert_encoding. 
Therefore I suggest to slowly deprecate utf8_encode and utf8_decode to clear up 
a recurring confusion and consolidate features into the existing, much more 
versatile iconv and mb_ functions.


Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2013-07-30 02:58 UTC]
-Assigned To: +Assigned To: yohgaki
 [2016-08-22 14:21 UTC] daniel-php at easetechnology dot co dot uk
Additionally, utf_encode and utf8_decode appear to be part of the XML extension, and it shouldn't be necessary to include an XML parser just for two character conversion functions.
 [2017-10-24 08:02 UTC]
-Status: Assigned +Status: Open -Assigned To: yohgaki +Assigned To:
PHP Copyright © 2001-2018 The PHP Group
All rights reserved.
Last updated: Sun Nov 19 01:31:42 2017 UTC