Bug #69114 [NEW]: Undocumented 5.6 BC Break: default encoding ISO-8859-1 -> UTF-8
| From: | maggus dot staab at googlemail dot com | Date: | Tue, 24 Feb 2015 13:00:18 +0000 |
| Subject: | Bug #69114 [NEW]: Undocumented 5.6 BC Break: default encoding ISO-8859-1 -> UTF-8 | ||
| Groups: | php.doc.bugs | ||
| Request: | Send a blank email to doc-bugs+get-11970@lists.php.net to get a copy of this message | ||
From: maggus dot staab at googlemail dot com
Operating system:
PHP version: 5.6.6
Package: Documentation problem
Bug Type: Bug
Bug description:Undocumented 5.6 BC Break: default encoding ISO-8859-1 -> UTF-8
Description:
------------
With PHP5.6 the default encoding changed from ISO-8859-1 to UTF8.
This bc break is not mentioned in the list of BC changes:
http://php.net/manual/en/migration56.incompatible.php
The charset related docs mention that
iconv.input_encoding
iconv.output_encoding
iconv.internal_encoding
mbstring.http_input
mbstring.http_output
mbstring.internal_encoding
is deprecated as of 5.6 and we should use default_charset instead:
http://php.net/manual/en/ini.core.php#ini.default-charset
For non-utf8 legacy app which are updated to PHP5.6 it is not clearly
documented how the path is. just setting ini_set('default_charset',
'ISO-8859-1'); does not do the trick, because of the deprecated above
mentioned settings still default to UTF8.
It feels like non-utf8 apps can only be configured using deprecated
settings like (which does not work by the way)
ini_set('default_charset', 'ISO-8859-1');
iconv_set_encoding("internal_encoding", 'ISO-8859-1');
iconv_set_encoding("output_encoding", 'ISO-8859-1');
iconv_set_encoding("input_encoding", 'ISO-8859-1');
How is the correct way to migrate a non-utf8 app to 5.6? How should the
settings look like to be compatible to 5.5 defaults and also be future
proof (so dont rely on deprecated settings)?
Such a path should be documented in the migration guide.
--
Edit bug report at https://bugs.php.net/bug.php?id=69114&edit=1
--
Try a snapshot (PHP 5.4): https://bugs.php.net/fix.php?id=69114&r=trysnapshot54
Try a snapshot (PHP 5.5): https://bugs.php.net/fix.php?id=69114&r=trysnapshot55
Try a snapshot (trunk): https://bugs.php.net/fix.php?id=69114&r=trysnapshottrunk
Fixed in SVN: https://bugs.php.net/fix.php?id=69114&r=fixed
Fixed in release: https://bugs.php.net/fix.php?id=69114&r=alreadyfixed
Need backtrace: https://bugs.php.net/fix.php?id=69114&r=needtrace
Need Reproduce Script: https://bugs.php.net/fix.php?id=69114&r=needscript
Try newer version: https://bugs.php.net/fix.php?id=69114&r=oldversion
Not developer issue: https://bugs.php.net/fix.php?id=69114&r=support
Expected behavior: https://bugs.php.net/fix.php?id=69114&r=notwrong
Not enough info: https://bugs.php.net/fix.php?id=69114&r=notenoughinfo
Submitted twice: https://bugs.php.net/fix.php?id=69114&r=submittedtwice
register_globals: https://bugs.php.net/fix.php?id=69114&r=globals
PHP 4 support discontinued: https://bugs.php.net/fix.php?id=69114&r=php4
Daylight Savings: https://bugs.php.net/fix.php?id=69114&r=dst
IIS Stability: https://bugs.php.net/fix.php?id=69114&r=isapi
Install GNU Sed: https://bugs.php.net/fix.php?id=69114&r=gnused
Floating point limitations: https://bugs.php.net/fix.php?id=69114&r=float
No Zend Extensions: https://bugs.php.net/fix.php?id=69114&r=nozend
MySQL Configuration Error: https://bugs.php.net/fix.php?id=69114&r=mysqlcfg