if (!new_value || !new_value_length || !(encoding = mbfl_name2encoding(new_value))) {
/* falls back to UTF-8 if an unknown encoding name is given */
+ if (new_value) {
+ php_error_docref("ref.mbstring", E_WARNING,
+ "Unknown encoding \"%s\" in ini setting", new_value);
+ }
encoding = mbfl_no2encoding(mbfl_no_encoding_utf8);
}
MBSTRG(internal_encoding) = encoding;
PHP Warning: PHP Startup: INI setting contains invalid encoding "HTTP_INPUT" in Unknown on line 0
PHP Deprecated: PHP Startup: Use of mbstring.http_output is deprecated in Unknown on line 0
PHP Deprecated: PHP Startup: Use of mbstring.internal_encoding is deprecated in Unknown on line 0
+PHP Warning: PHP Startup: Unknown encoding "UNKNOWN_ENCODING" in ini setting in Unknown on line 0
Warning: PHP Startup: INI setting contains invalid encoding "DETECT_ORDER" in Unknown on line 0
Deprecated: PHP Startup: Use of mbstring.http_output is deprecated in Unknown on line 0
Deprecated: PHP Startup: Use of mbstring.internal_encoding is deprecated in Unknown on line 0
+
+Warning: PHP Startup: Unknown encoding "UNKNOWN_ENCODING" in ini setting in Unknown on line 0
?>
--EXPECT--
PHP Deprecated: PHP Startup: Use of mbstring.internal_encoding is deprecated in Unknown on line 0
+PHP Warning: PHP Startup: Unknown encoding "BAD" in ini setting in Unknown on line 0
Deprecated: PHP Startup: Use of mbstring.internal_encoding is deprecated in Unknown on line 0
+
+Warning: PHP Startup: Unknown encoding "BAD" in ini setting in Unknown on line 0
*** Testing INI mbstring.internal_encoding: invalid encoding specified in INI ***
UTF-8
BAD
if (zenc != NULL) {
charset_hint = (char *)zend_multibyte_get_encoding_name(zenc);
if (charset_hint != NULL && (len=strlen(charset_hint)) != 0) {
- if ((len == 4) /* sizeof (auto|pass) */ &&
- /* XXX should the "wchar" be ignored as well?? */
- (!memcmp("pass", charset_hint, 4) ||
- !memcmp("auto", charset_hint, 4))) {
+ if (len == sizeof("auto")-1 && !memcmp("auto", charset_hint, sizeof("auto")-1)) {
charset_hint = NULL;
len = 0;
} else {
htmlentities() test 1 (cp1252)
--INI--
output_handler=
-internal_encoding=pass
--FILE--
<?php
- var_dump(htmlentities("\x82\x86\x99\x9f", ENT_QUOTES, 'cp1252'));
- var_dump(htmlentities("\x80\xa2\xa3\xa4\xa5", ENT_QUOTES, 'cp1252'));
+var_dump(htmlentities("\x82\x86\x99\x9f", ENT_QUOTES, 'cp1252'));
+var_dump(htmlentities("\x80\xa2\xa3\xa4\xa5", ENT_QUOTES, 'cp1252'));
?>
--EXPECT--
string(28) "‚†™Ÿ"
--INI--
output_handler=
default_charset=
-internal_encoding=pass
+internal_encoding=
--FILE--
<?php
- setlocale(LC_CTYPE, "fr_FR.ISO-8859-15", "fr_FR.ISO8859-15", 'fr_FR@euro');
- var_dump(htmlentities("\xbc\xbd\xbe", ENT_QUOTES, ''));
+// Locale-based encoding guessing no longer works.
+setlocale(LC_CTYPE, "fr_FR.ISO-8859-15", "fr_FR.ISO8859-15", 'fr_FR@euro');
+var_dump(htmlentities("\xbc\xbd\xbe", ENT_QUOTES, ''));
?>
--EXPECT--
-string(20) "ŒœŸ"
+string(0) ""
--INI--
output_handler=
default_charset=
-internal_encoding=pass
+internal_encoding=
--FILE--
<?php
- setlocale( LC_CTYPE, "de_DE.ISO-8859-1", "de_DE.ISO8859-1");
- var_dump(htmlentities("\xe4\xf6\xfc", ENT_QUOTES, ''));
+// Locale-based encoding guessing no longer works.
+setlocale( LC_CTYPE, "de_DE.ISO-8859-1", "de_DE.ISO8859-1");
+var_dump(htmlentities("\xe4\xf6\xfc", ENT_QUOTES));
?>
--EXPECT--
-string(18) "äöü"
+string(0) ""
htmlentities() test 10 (default_charset / cp1252)
--INI--
output_handler=
-internal_encoding=pass
default_charset=cp1252
--FILE--
<?php
- print ini_get('default_charset')."\n";
- var_dump(htmlentities("\x82\x86\x99\x9f", ENT_QUOTES, ''));
- var_dump(htmlentities("\x80\xa2\xa3\xa4\xa5", ENT_QUOTES, ''));
+print ini_get('default_charset')."\n";
+var_dump(htmlentities("\x82\x86\x99\x9f", ENT_QUOTES, ''));
+var_dump(htmlentities("\x80\xa2\xa3\xa4\xa5", ENT_QUOTES, ''));
?>
--EXPECT--
cp1252
htmlentities() test 11 (default_charset / ISO-8859-15)
--INI--
output_handler=
-internal_encoding=pass
default_charset=ISO-8859-15
--FILE--
<?php
- print ini_get('default_charset')."\n";
- var_dump(htmlentities("\xbc\xbd\xbe", ENT_QUOTES, ''));
+print ini_get('default_charset')."\n";
+var_dump(htmlentities("\xbc\xbd\xbe", ENT_QUOTES, ''));
?>
--EXPECT--
ISO-8859-15
htmlentities() test 12 (default_charset / ISO-8859-1)
--INI--
output_handler=
-internal_encoding=pass
default_charset=ISO-8859-1
--FILE--
<?php
- print ini_get('default_charset')."\n";
- var_dump(htmlentities("\xe4\xf6\xfc", ENT_QUOTES, ''));
+print ini_get('default_charset')."\n";
+var_dump(htmlentities("\xe4\xf6\xfc", ENT_QUOTES, ''));
?>
--EXPECT--
ISO-8859-1
htmlentities() test 13 (default_charset / EUC-JP)
--INI--
output_handler=
-internal_encoding=pass
default_charset=EUC-JP
filter.default=unsafe_raw
--FILE--
<?php
- print ini_get('default_charset')."\n";
- var_dump(htmlentities("\xa1\xa2\xa1\xa3\xa1\xa4", ENT_QUOTES, ''));
+print ini_get('default_charset')."\n";
+var_dump(htmlentities("\xa1\xa2\xa1\xa3\xa1\xa4", ENT_QUOTES, ''));
?>
--EXPECTF--
EUC-JP
htmlentities() test 14 (default_charset / Shift_JIS)
--INI--
output_handler=
-internal_encoding=pass
default_charset=Shift_JIS
filter.default=unsafe_raw
--FILE--
<?php
- print ini_get('default_charset')."\n";
- var_dump(htmlentities("\x81\x41\x81\x42\x81\x43", ENT_QUOTES, ''));
+print ini_get('default_charset')."\n";
+var_dump(htmlentities("\x81\x41\x81\x42\x81\x43", ENT_QUOTES, ''));
?>
--EXPECTF--
Shift_JIS