Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: капча не выводит русские символы в чем проблема?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Slavka1987
Отправлено: 24 Декабря, 2010 - 19:59:00
Post Id


Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Дек. 2010  


Помог: 0 раз(а)




капча написана в ubuntu на php.

Вот сам код капчи
PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3.  
  4.  
  5.   $width = 450;
  6.  
  7.   $height = 150;
  8.  
  9.   $code = "";
  10.    
  11.  
  12. $arr = file("BS.txt");
  13. $k=0;      
  14.   for($i = 0; $i < count($arr); $i++)
  15. {
  16.        
  17.         $arr[$i];
  18.         $arr1 = explode("=",$arr[$i]);
  19.      
  20.          for($j = 0; $j < count($arr1); $j++)
  21.          {
  22.            
  23.          $letters[$i]= $arr1[$j-1];
  24.          $answer[$i]= $arr1[$j];  
  25.           }
  26. $k=$k+1;
  27. }
  28.  //$letters = array('====1 plus2 =?=','======1 plus 2=?=====','=====1 plus 3=?=====',);
  29. $figures = array('50','70','90','110',
  30.                    '130','150','170','190','210');
  31.  
  32.   //$answer = array('2','3','4',);
  33.   $img = imagecreatetruecolor($width, $height);
  34.    $fon = imagecolorallocate($img, 255, 255, 255);
  35.   imagefill($img, 0, 0, $fon);
  36.     $h = 1;
  37.     $color = imagecolorallocatealpha(
  38.                     $img,
  39.                     $figures[rand(0,count($figures)-1)],
  40.                     $figures[rand(0,count($figures)-1)],
  41.                     $figures[rand(0,count($figures)-1)],
  42.                     rand(10,30));
  43.     $n = rand(0,sizeof($letters)-1);
  44.     $letter = $letters[$n];//[rand(0,sizeof($letters)-1)];
  45.     $answer= $answer[$n];
  46.     if(empty($x)) $x = $width*0.08;
  47.     else $x = $x + ($width*0.8)/$sign+rand(0,$width*0.01);
  48.     if($h == rand(1,2)) $y = (($height*1)/4) + rand(0,$height*0.1);
  49.     else $y = (($height*1)/4) - rand(0,$height*0.1);
  50.        //$code .= $letter;
  51.        $code .= $answer;
  52.        $s = $s + 1;
  53.     if($h == rand(0,1)) $letter = strtolower($letter);
  54.   imagestring($img, 18,$x, $y, $letter, $color);
  55.    $_SESSION['code'] = $code;
  56.   header ("Content-type: image/jpeg");
  57.   imagejpeg($img);
  58. ?>
  59.  
  60.  
  61.  


с английскими буквами норм работает.

в чем проблема?
 
 Top
evgenijj
Отправлено: 24 Декабря, 2010 - 23:38:01
Post Id



Участник


Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006  
Откуда: Москва


Помог: 10 раз(а)




Встроенные шрифты не понимают кириллицу. Надо использовать TTF-шрифты (C:/Windows/fonts) и не забывать перекодировать текст в UTF-8
$text = iconv('windows-1251','UTF-8','Всем привет!');

http://php5[dot]ru/articles/image

(Отредактировано автором: 24 Декабря, 2010 - 23:38:34)

 
 Top
JustUserR
Отправлено: 25 Декабря, 2010 - 17:00:44
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Slavka1987 Для осуществления включения в формируемое изображения элементов текстовых вставок с информационными полями представленными в виде символов региональной кодовой таблицы - необходимо включение целевых объектов шрифтов позволяющих произвести визуализацию указанных данных Для осуществления процесса подключения файла шрифта в GD/GD2-библиотеке необходимо выполнение дополнительных действий по установке переменного окруржения
PHP:
скопировать код в буфер обмена
  1. $fontpath = realpath('./font/');
  2. putenv('GDFONTPATH='.$fontpath);
  3. $font = "arial";


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB