|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Doc Bug #80671 mb_convert_encoding() throws ValueError on invalid encoding
Submitted: 2021-01-26 07:37 UTC Modified: 2021-01-26 19:03 UTC
From: alec at alec dot pl Assigned:
Status: Closed Package: mbstring related
PHP Version: 8.0.1 OS:
Private report: No CVE-ID: None
 [2021-01-26 07:37 UTC] alec at alec dot pl
PHP Fatal error:  Uncaught ValueError: mb_convert_encoding(): Argument #3 ($from_encoding) contains invalid encoding "WINDOWS-1253".

Before PHP8 it never threw even a warning, so to me it looks like a BC break which:
1. should throw a warning in PHP 8.0, before it could switch to a fatal error in 8.1.
2. should be mentioned in the migration guide and the documentation.


Test script:
mb_convert_encoding("test", "UTF-8", "WINDOWS-1253");


Add a Patch

Pull Requests

Pull requests:

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2021-01-26 07:39 UTC] alec at alec dot pl
BTW, regarding the error message, the encoding is not invalid, it is unsupported.
 [2021-01-26 08:50 UTC]
-Type: Bug +Type: Documentation Problem
 [2021-01-26 13:34 UTC]
-Summary: mb_convert_encoding() throws ValueError unexpectedly +Summary: mb_convert_encoding() throws ValueError on invalid encoding
 [2021-01-26 13:34 UTC]
As expected, this already threw a warning since at least PHP 4.3:

A changelog entry that this throws a ValueError exception since PHP 8.0 is missing through.
 [2021-01-26 18:52 UTC] alec at alec dot pl
All right, it looks I was mistaken about no warning in earlier versions, but since Roundcube exists I've never saw such a warning (and we're dealing with all kinds of "invalid" encodings). Maybe that has something to do with removal of some code path that was using iconv() before mbstring methods.

So, it is a documentation problem.
 [2021-05-01 14:03 UTC] hallberg dot kim at gmail dot com
The following pull request has been associated:

Patch Name: [80671] Update `mb_convert_encoding`.
On GitHub:
 [2021-05-03 08:52 UTC]
Automatic comment on behalf of thinkverse (author) and web-flow (committer)
Log: Fix #80671: Update `mb_convert_encoding`
 [2021-05-03 08:52 UTC]
-Status: Open +Status: Closed
 [2021-05-03 10:43 UTC]
Automatic comment on behalf of mumumu
Log: Fix #80671: Update mb_convert_encoding
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sun Apr 21 08:01:27 2024 UTC