Hey guys,

i ran into serious trouble when facing the problem to convert
data, which was retrieved from a single form in our CMS to match
the requirements of multiple charsets.

Our CMS uses UTF-8 which worked out quite fine to display the data
but caused weired symbols when displayed within a TEXTAREA or INPUT
field. So i tried to convert all characters beyound A-Z,0-9 to
HTML entities which worked out even better ( i used the following
functions to convert the data :

function func_ConvertToHTML ( $string ) {
  $strlen = strlen ( $string ) ;
  $return = '' ;

  for ( $str_pos = 0 ; $str_pos < $strlen ; $str_pos++ ) {
    $char  = substr ( $string , $str_pos , 1 );
    $ascii = ord ( $char );

    if ( $ascii >> 5 == 6 ) {
      $char2  = substr ( $string , ++$str_pos , 1 );
      $ascii2 = ord ($char2);

      $ascii  &= 31 ;
      $ascii2 &= 63 ;
      $ascii2 |= ( ($ascii & 3 ) << 6 ) ;
      $ascii >>=  2 ;

$return .= '&#x' . str_pad ( dechex( $ascii ) , 2 , '0' , STR_PAD_LEFT ) . str_pad ( dechex( $ascii2 ) , 2 , '0' , STR_PAD_LEFT ) . ';' ;
} else {
$return .= $char;
}
}


  return $return;
}

But at this point i faced even bigger problems when using this kind
of data on JavaScripts or sending the data in an text/plain E-Mail.
I tryed to convert the data back but failed as chr() only supports
a Charset of 255 Characters ( which most languages don't match eg
ru, pl, ch, jp ... )

So my question is if anyone on this list has an idea on how to retrieve
the data completely? Some kind of func_ConvertFromHTML() function.

 -- red

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Reply via email to