Fix Encode: remove mb_internal_encoding

Этот коммит содержится в:
Igor V Belousov 2015-12-16 00:11:54 +03:00
родитель 1463f60635
Коммит c5fb1eb493

Просмотреть файл

@ -61,9 +61,6 @@ function EncodePunycodeIDN( $value )
return substr( $sub_result, 1 ); return substr( $sub_result, 1 );
} }
$mb_internal_enc = mb_internal_encoding();
mb_internal_encoding( "UTF-8" );
/* http://tools.ietf.org/html/rfc3492#section-6.3 */ /* http://tools.ietf.org/html/rfc3492#section-6.3 */
$n = 0x80; $n = 0x80;
$delta = 0; $delta = 0;
@ -72,10 +69,10 @@ function EncodePunycodeIDN( $value )
$input = array(); $input = array();
$str = $value; $str = $value;
while ( mb_strlen( $str ) > 0 ) while ( mb_strlen( $str , 'UTF-8' ) > 0 )
{ {
array_push( $input, mb_substr( $str, 0, 1 ) ); array_push( $input, mb_substr( $str, 0, 1, 'UTF-8' ) );
$str = mb_substr( $str, 1 ); $str = mb_substr( $str, 1, null, 'UTF-8' );
} }
/* basic symbols */ /* basic symbols */
@ -84,7 +81,6 @@ function EncodePunycodeIDN( $value )
if ( $b == $input ) if ( $b == $input )
{ {
mb_internal_encoding( $mb_internal_enc );
return $value; return $value;
} }
$b = count( $b ); $b = count( $b );
@ -114,7 +110,6 @@ function EncodePunycodeIDN( $value )
} }
if ( ( $m - $n ) > ( 0x10FFFF / ( $h + 1 ) ) ) if ( ( $m - $n ) > ( 0x10FFFF / ( $h + 1 ) ) )
{ {
mb_internal_encoding( $mb_internal_enc );
return $value; return $value;
} }
$delta += ( $m - $n ) * ( $h + 1 ); $delta += ( $m - $n ) * ( $h + 1 );
@ -128,7 +123,6 @@ function EncodePunycodeIDN( $value )
++$delta; ++$delta;
if ( $delta == 0 ) if ( $delta == 0 )
{ {
mb_internal_encoding( $mb_internal_enc );
return $value; return $value;
} }
} }
@ -179,7 +173,6 @@ function EncodePunycodeIDN( $value )
++$delta; ++$delta;
++$n; ++$n;
} }
mb_internal_encoding( $mb_internal_enc );
return implode( '', $output ); return implode( '', $output );
} }