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 18filter.default=unsafe_raw 19--FILE-- 20<?php 21// enable output encoding through output handler 22//ob_start("mb_output_handler"); 23// @... are must be decoded on input these are not reencoded on output. 24// If you see @AB on output this means input encoding fails. 25// If you do not see ä... on output this means output encoding fails. 26// Using UTF-8 internally allows to encode/decode ALL characters. 27// &128... will stay as they are since their character codes are above 127 28// and they do not have a named entity representaion. 29?> 30<?php echo mb_http_input('l').'>'.mb_internal_encoding().'>'.mb_http_output();?> 31 32<?php mb_parse_str("test=&@AB€‚äöü€⟨⟩", $test); 33print_r($test); 34?> 35===DONE=== 36--EXPECT-- 37HTML-ENTITIES>UTF-8>HTML-ENTITIES 38Array 39( 40 [test] => &@AB€‚äöü€⟨⟩ 41) 42===DONE=== 43