windows_1252_to_utf8() публичный Метод

Converts a Windows-1252 encoded string to a UTF-8 encoded string
public windows_1252_to_utf8 ( string $string ) : string
$string string Windows-1252 encoded string
Результат string UTF-8 encoded string
Пример #1
0
 /**
  * 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);
     } elseif (function_exists('mb_convert_encoding') && ($return = SimplePie_Misc::change_encoding_mbstring($data, $input, $output))) {
         return $return;
     } elseif (function_exists('iconv') && ($return = SimplePie_Misc::change_encoding_iconv($data, $input, $output))) {
         return $return;
     } else {
         return false;
     }
 }
Пример #2
0
 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));
     }
     if (function_exists('iconv') && ($return = @iconv($input, $output, $data))) {
         return $return;
     } elseif (function_exists('mb_convert_encoding') && ($return = @mb_convert_encoding($data, $output, $input))) {
         return $return;
     } elseif ($input == 'windows-1252' && $output == 'UTF-8') {
         return SimplePie_Misc::windows_1252_to_utf8($data);
     } elseif ($input == 'UTF-8' && $output == 'windows-1252') {
         return utf8_decode($data);
     }
     return $data;
 }
Пример #3
0
 public static function change_encoding($data, $input, $output)
 {
     $input = SimplePie_Misc::encoding($input);
     $output = SimplePie_Misc::encoding($output);
     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));
     }
     if ($input === 'windows-1252' && $output === 'UTF-8') {
         return SimplePie_Misc::windows_1252_to_utf8($data);
     } elseif (function_exists('mb_convert_encoding') && ($return = SimplePie_Misc::change_encoding_mbstring($data, $input, $output))) {
         return $return;
     } elseif (function_exists('iconv') && ($return = SimplePie_Misc::change_encoding_iconv($data, $input, $output))) {
         return $return;
     } else {
         return false;
     }
 }
	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
		elseif (function_exists('mb_convert_encoding') && ($return = @mb_convert_encoding($data, $output, $input)))
		{
			return $return;
		}
		// This is last, as behaviour of this varies with OS userland and PHP version
		elseif (function_exists('iconv') && ($return = @iconv($input, $output, $data)))
		{
			return $return;
		}
		// If we can't do anything, just fail
		else
		{
			return false;
		}
	}