original_string: public static function change_encoding($data, $input, $output)
  	{
  		$input = SimplePie_Misc::encoding($input);
  		$output = SimplePie_Misc::encoding($output);
  
  		// We fail to fail on non US-ASCII bytes
  		if ($input === 'US-ASCII')
  		{
  			static $non_ascii_octects = '';
  			if (!$non_ascii_octects)
  			{
  				for ($i = 0x80; $i <= 0xFF; $i++)
  				{
  					$non_ascii_octects .= chr($i);
  				}
  			}
  			$data = substr($data, 0, strcspn($data, $non_ascii_octects));
  		}
  
  		// This is first, as behaviour of this is completely predictable
  		if ($input === 'windows-1252' && $output === 'UTF-8')
  		{
  			return SimplePie_Misc::windows_1252_to_utf8($data);
  		}
  		// This is second, as behaviour of this varies only with PHP version (the middle part of this expression checks the encoding is supported).
  		elseif (function_exists('mb_convert_encoding') && ($return = SimplePie_Misc::change_encoding_mbstring($data, $input, $output)))
  		{
  			return $return;
   		}
  		// This is third, as behaviour of this varies with OS userland and PHP version
  		elseif (function_exists('iconv') && ($return = SimplePie_Misc::change_encoding_iconv($data, $input, $output)))
  		{
  			return $return;
  		}
  		// This is last, as behaviour of this varies with OS userland and PHP version
  		elseif (class_exists('\UConverter') && ($return = SimplePie_Misc::change_encoding_uconverter($data, $input, $output)))
  		{
  			return $return;
  		}
  		// If we can't do anything, just fail
  		else
  		{
  			return false;
  		}
  	}
code: public static function change_encoding($data, $input, $output)
  	{
  		$input = SimplePie_Misc::encoding($input);
  		$output = SimplePie_Misc::encoding($output);
  
  		// We fail to fail on non US-ASCII bytes
  		if ($input === 'US-ASCII')
  		{
  			static $non_ascii_octects = '';
  			if (!$non_ascii_octects)
  			{
  				for ($i = 0x80; $i <= 0xFF; $i++)
  				{
  					$non_ascii_octects .= chr($i);
  				}
  			}
  			$data = substr($data, 0, strcspn($data, $non_ascii_octects));
  		}
  
  		// This is first, as behaviour of this is completely predictable
  		if ($input === 'windows-1252' && $output === 'UTF-8')
  		{
  			return SimplePie_Misc::windows_1252_to_utf8($data);
  		}
  		// This is second, as behaviour of this varies only with PHP version (the middle part of this expression checks the encoding is supported).
  		elseif (function_exists('mb_convert_encoding') && ($return = SimplePie_Misc::change_encoding_mbstring($data, $input, $output)))
  		{
  			return $return;
   		}
  		// This is third, as behaviour of this varies with OS userland and PHP version
  		elseif (function_exists('iconv') && ($return = SimplePie_Misc::change_encoding_iconv($data, $input, $output)))
  		{
  			return $return;
  		}
  		// This is last, as behaviour of this varies with OS userland and PHP version
  		elseif (class_exists('\UConverter') && ($return = SimplePie_Misc::change_encoding_uconverter($data, $input, $output)))
  		{
  			return $return;
  		}
  		// If we can't do anything, just fail
  		else
  		{
  			return false;
  		}
  	}
code_tokens: public static function change_encoding ( $ data , $ input , $ output ) { $ input = SimplePie_Misc :: encoding ( $ input ) ; $ output = SimplePie_Misc :: encoding ( $ output ) ; // We fail to fail on non US-ASCII bytes if ( $ input === 'US-ASCII' ) { static $ non_ascii_octects = '' ; if ( ! $ non_ascii_octects ) { for ( $ i = 0x80 ; $ i <= 0xFF ; $ i ++ ) { $ non_ascii_octects .= chr ( $ i ) ; } } $ data = substr ( $ data , 0 , strcspn ( $ data , $ non_ascii_octects ) ) ; } // This is first, as behaviour of this is completely predictable if ( $ input === 'windows-1252' && $ output === 'UTF-8' ) { return SimplePie_Misc :: windows_1252_to_utf8 ( $ data ) ; } // This is second, as behaviour of this varies only with PHP version (the middle part of this expression checks the encoding is supported). elseif ( function_exists ( 'mb_convert_encoding' ) && ( $ return = SimplePie_Misc :: change_encoding_mbstring ( $ data , $ input , $ output ) ) ) { return $ return ; } // This is third, as behaviour of this varies with OS userland and PHP version elseif ( function_exists ( 'iconv' ) && ( $ return = SimplePie_Misc :: change_encoding_iconv ( $ data , $ input , $ output ) ) ) { return $ return ; } // This is last, as behaviour of this varies with OS userland and PHP version elseif ( class_exists ( '\UConverter' ) && ( $ return = SimplePie_Misc :: change_encoding_uconverter ( $ data , $ input , $ output ) ) ) { return $ return ; } // If we can't do anything, just fail else { return false ; } }
docstring: Change a string from one encoding to another
  
  @param string $data Raw data in $input encoding
  @param string $input Encoding of $data
  @param string $output Encoding you want
  @return string|boolean False if we can't convert it
docstring_tokens: Change a string from one encoding to another