ФорумПрограммированиеPHP для идиотов → Вывод списка (php + ajax)

Вывод списка (php + ajax)

  • Trej Gun

    Сообщения: 5305 Репутация: N Группа: в ухо

    Spritz Июль 12, 2008, 12:59 д.п., спустя 6 часов 4 минуты 39 секунд

    
    function cp1251_to_utf8($s){
    	$c209 = chr(209); 
    	$c208 = chr(208); 
    	$c129 = chr(129);
    	for($i=0; $i<strlen($s); $i++){
    		$c=ord($s[$i]);
    		if ($c>=192 and $c<=239) 
    			$t.=$c208.chr($c-48);
    		elseif ($c>239)
    			$t.=$c209.chr($c-112);
    		elseif ($c==184)
    			$t.=$c209.$c209;
    		elseif ($c==168)
    			$t.=$c208.$c129;
    		else 
    			$t.=$s[$i];
    	}
    	return $t;
    }
    
    function utf8_to_cp1251($s){
    	for ($c=0;$c<strlen($s);$c++){
    		$i=ord($s[$c]);
    		if ($i<=127) 
    			$out.=$s[$c];
    		if ($byte2){
    			$new_c2=($c1&3)*64+($i&63);
    			$new_c1=($c1>>2)&5;
    			$new_i=$new_c1*256+$new_c2;
    			if ($new_i==1025)
    				$out_i=168;
    			elseif ($new_i==1105)
    				$out_i=184;
    			else
    				$out_i = $new_i-848;
    			$out.=chr($out_i);
    			$byte2=false;
    		}
    		if (($i>>5)==6) {
    			$c1=$i;
    			$byte2=true;
    		}
    	}
    	return $out;
    }
    
    


    сначала utf8_to_cp1251 и спрашиваешь базу потом ответ cp1251_to_utf8 и отдаешь яваскрипту
  • TRIAL

    Сообщения: 988 Репутация: N Группа: Джедаи

    Spritz Июль 12, 2008, 11:19 д.п., спустя 10 часов 19 минут 56 секунд

    Ок, попробую.
    from TRIAL with LOVE
  • TRIAL

    Сообщения: 988 Репутация: N Группа: Джедаи

    Spritz Июль 14, 2008, 2:33 п.п., спустя 2 дня 3 часа 13 минут

    Ничерта у меня не получается. Не видит он русскую кодировку ни в какую. Уже и с БД пробыал и просто массив создавал с русскими индексами. Всё в пустую.
    Помогите плиз.
    from TRIAL with LOVE
  • Trej Gun

    Сообщения: 5305 Репутация: N Группа: в ухо

    Spritz Июль 14, 2008, 2:49 п.п., спустя 16 минут 27 секунд

    в чем проблема?!

    
    
    $key = utf8_to_cp1251($_POST['request']);
    $rs = $db->Execute("Select column from table where column like '$key%'");
    
    $respons = "<select>";
    
    while(!$rs->EOF){
    $respons .= "<option>".cp1251_to_utf8($rs->fields['column'])."</option>";
    $rs->next();
    }
    
    $respons .= "</select>";
    
    echo $respons;
    

Пожалуйста, авторизуйтесь, чтобы написать комментарий!