1--TEST-- 2HTML input/output 3--SKIPIF-- 4<?php 5 ini_set('include_path', dirname(__FILE__)); 6 extension_loaded('mbstring') or die('skip mbstring not available'); 7?> 8--INI-- 9output_buffering=4096 10output_handler=mb_output_handler 11zlib.output_compression= 12arg_separator.input=x 13error_reporting=0 14mbstring.http_input=HTML-ENTITIES 15mbstring.internal_encoding=UTF-8 16mbstring.http_output=HTML-ENTITIES 17mbstring.encoding_translation=1 18--FILE-- 19<?php 20// enable output encoding through output handler 21//ob_start("mb_output_handler"); 22// @... are must be decoded on input these are not reencoded on output. 23// If you see @AB on output this means input encoding fails. 24// If you do not see ä... on output this means output encoding fails. 25// Using UTF-8 internally allows to encode/decode ALL characters. 26// &128... will stay as they are since their character codes are above 127 27// and they do not have a named entity representaion. 28?> 29<?php echo mb_http_input('l').'>'.mb_internal_encoding().'>'.mb_http_output();?> 30 31<?php mb_parse_str("test=&@AB€‚äöü€⟨⟩", $test); 32print_r($test); 33?> 34===DONE=== 35--EXPECT-- 36HTML-ENTITIES>UTF-8>HTML-ENTITIES 37Array 38( 39 [test] => &@AB€‚äöü€⟨⟩ 40) 41===DONE=== 42