Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 2 odgovora
  • 3.659 pregleda

Najnovija ↓

UTF-8 encode za evropske jezike 05.01.2006. u 20:23 · pre 253 meseca
izmenjeno 1 put, poslednji put boccio 17.01.2006. u 13:21
  1. boccio17.01.2006. u 13:21zapis iz teksta poruke
#1
Deo za unos teksta je utf-8, takav je i deo za citanje
medjutim, zbog nekih drugih stvari imam potrebu da u bazu budu upisani kodovi (&#xxx) a ne karakteri ć,č.
To se odnosi kako na nasa slova, tako i ostala evropska (spanski, nemacki...)

Jel postoji neka funkcija koja forsira ovakav upis za karaktere preko 127?
Sve sto sam probao do sada ne daje rezultate.
Kada recimo postavim stranicu za unos na iso-8859-1 php zameni dobar deo znakova, ali te i š i đ

recimo:
Code:

   function char_ASCII($input)
   {
      for ($i=0; $i<strlen($input); $i++)
      {
        $test = substr($input, $i, 1);
        $chr = ord($test);
        if ($chr>127)
         $out.= "&#".$chr;
        else
         $out.= $test;
      }
     return $out;
   }

ne daje dobre rezultate
Potpis
Moj Veb Sajt HostCentar Blog
Aleksinac Južna Srbija TimeOut
Re: UTF-8 encode za evropske jezike 10.01.2006. u 20:23 · pre 253 meseca
izmenjeno 1 put, poslednji put boccio 17.01.2006. u 13:21
  1. boccio17.01.2006. u 13:21zapis iz teksta poruke
#3
Nakon dugog lutanja nasao sam resenje
Code:

<?php
function utf8_to_unicode( &$str ) {

    $values = array();
    $lookingFor = 1;

    for ($i = 0; $i < strlen( $str ); $i++ ) {
      $thisValue = ord( $str[ $i ] );
      if ( $thisValue < 128 ) $unicode.= $str[ $i ];  
      else {
        if ( count( $values ) == 0 ) $lookingFor = ( $thisValue < 224 ) ? 2 : 3;
        $values[] = $thisValue;
        if ( count( $values ) == $lookingFor ) {
    $number = ( $lookingFor == 3 ) ?
      ( ( $values[0] % 16 ) * 4096 ) + ( ( $values[1] % 64 ) * 64 ) + ( $values[2] % 64 ):
        ( ( $values[0] % 32 ) * 64 ) + ( $values[1] % 64 );
    $unicode.= "&#".$number.";";
    $values = array();
    $lookingFor = 1;
        }
      }
    }
    return $unicode;
}
?>

E, sad tu moze biti problem brzina, ali ovo radi posao.
Jedino ako neko zna bolje resenje
Potpis
Moj Veb Sajt HostCentar Blog
Aleksinac Južna Srbija TimeOut
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme