Doc #80671 [Opn]: mb_convert_encoding() throws ValueError on invalid encoding
| From: | alec at alec dot pl | Date: | Tue, 26 Jan 2021 18:52:48 +0000 |
| Subject: | Doc #80671 [Opn]: mb_convert_encoding() throws ValueError on invalid encoding | ||
| References: | 1 | Groups: | php.doc.bugs |
| Request: | Send a blank email to doc-bugs+get-18446@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=80671&edit=1
ID: 80671
User updated by: alec at alec dot pl
Reported by: alec at alec dot pl
Summary: mb_convert_encoding() throws ValueError on invalid
encoding
Status: Open
Type: Documentation Problem
Package: mbstring related
PHP Version: 8.0.1
Block user comment: N
Private report: N
New Comment:
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.
Previous Comments:
------------------------------------------------------------------------
[2021-01-26 13:34:28] nikic@php.net
As expected, this already threw a warning since at least PHP 4.3: https://3v4l.org/5cErI
A changelog entry that this throws a ValueError exception since PHP 8.0 is missing through.
------------------------------------------------------------------------
[2021-01-26 07:39:25] alec at alec dot pl
BTW, regarding the error message, the encoding is not invalid, it is unsupported.
------------------------------------------------------------------------
[2021-01-26 07:37:41] alec at alec dot pl
Description:
------------
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.
Reference: https://github.com/roundcube/roundcubemail/issues/7850
Test script:
---------------
<?php
mb_convert_encoding("test", "UTF-8", "WINDOWS-1253");
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=80671&edit=1