diff options
Diffstat (limited to 'ext/standard/info.c')
| -rw-r--r-- | ext/standard/info.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/ext/standard/info.c b/ext/standard/info.c index 814e8893f7..b9134861e6 100644 --- a/ext/standard/info.c +++ b/ext/standard/info.c @@ -38,6 +38,11 @@ #include <sys/utsname.h> #endif +#if HAVE_MBSTRING +#include "ext/mbstring/mbstring.h" +ZEND_EXTERN_MODULE_GLOBALS(mbstring) +#endif + #if HAVE_ICONV #include "ext/iconv/php_iconv.h" ZEND_EXTERN_MODULE_GLOBALS(iconv) @@ -225,6 +230,15 @@ PHPAPI void php_print_info(int flag TSRMLS_DC) if (SG(default_charset)) { charset = SG(default_charset); } +#if HAVE_MBSTRING + if (php_ob_handler_used("mb_output_handler" TSRMLS_CC)) { + if (MBSTRG(current_http_output_encoding) == mbfl_no_encoding_pass) { + charset = "US-ASCII"; + } else { + charset = mbfl_no2preferred_mime_name(MBSTRG(current_http_output_encoding)); + } + } +#endif #if HAVE_ICONV if (php_ob_handler_used("ob_iconv_handler" TSRMLS_CC)) { charset = ICONVG(output_encoding); |
