Summery Summery

Change a string from one encoding to another

Syntax Syntax

SimplePie_Misc::change_encoding( string $data, string $input, string $output )

Parameters Parameters


(string) (Required) Raw data in $input encoding


(string) (Required) Encoding of $data


(string) (Required) Encoding you want

Return Return

(string|boolean) False if we can't convert it

Source Source

File: wp-includes/SimplePie/Misc.php

		return strtr($string, $convert_table);

	 * 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
	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;



Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.