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]   

> Без описания
Telnet
Отправлено: 10 Мая, 2013 - 02:37:50
Post Id


Частый гость


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


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




Вообщем пишу свой плагин для приема оплаты Robokassa под джумловский компонент com_eventbooking

Вот значит в принципе все работает
Но до тех пор пока мне нужно сформировать подпись платежа и отправить на сервер

PHP:
скопировать код в буфер обмена
  1.        
  2. function sing($mrh_login,$out_summ,$inv_id,$mrh_pass1,$shp_item){
  3.                 return  md5("$mrh_login:$out_summ:$inv_id:$mrh_pass1:Shp_item=$shp_item");     
  4.         }
  5.                 var_dump($this->mrh_login);
  6.                 $this->mrh_login = iconv('ASCII', 'UTF-8', $this->mrh_login);
  7.                 echo mb_detect_encoding($this->mrh_login);
  8.  
  9.                 $OutSum = round($data['amount'], 2);
  10.                 var_dump($OutSum);
  11.                 echo mb_detect_encoding($OutSum);
  12.                 var_dump($row->id);
  13.                 echo mb_detect_encoding($row->id);
  14.                 var_dump($this->mrh_pass1);
  15.                 echo mb_detect_encoding($this->mrh_pass1);
  16.                 var_dump($row->event_id);
  17.                 echo mb_detect_encoding($row->event_id);
  18.                 $sing =$this->sing($this->mrh_login,$OutSum,$row->id,$this->mrh_pass1,$row->event_id);
  19.                 echo mb_detect_encoding($sing);
  20.                 $Signature = iconv('ASCII', 'UTF-8', $sing);
  21.                 var_dump($Signature);
  22.                 echo mb_detect_encoding($str);die();
  23.  
  24. string(12) "pppppp" ASCII
  25. float(12000) ASCII
  26. int(62) ASCII
  27. string(15) "ppppp111" ASCII
  28. string(2) "56" ASCII
  29. string(32) "431774346b6a53488e05efe43e070b87" ASCII


В итоге всегда получаю следующий ответ
Неверное значение "431774346b6a53488e05efe43e070b87" для параметра "SignatureValue". Правильное значение - b7dc5e5d9fe2b8a3b9831d674e5b36bc .
Кодировка: utf-8.

Я уже не знаю как быть я и файл перекодировал под utf-8
и так пробую $this->mrh_login = iconv('ASCII', 'UTF-8', $this->mrh_login);
в результате всегда получаю ASCII и сервер такую строку подписи не пропускает
Скачать файл: os_robokassa.php
Скачан раз: 124
 
 Top
LIME
Отправлено: 10 Мая, 2013 - 08:47:12
Post Id


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


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


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




Telnet пишет:
и так пробую $this->mrh_login = iconv('ASCII', 'UTF-8', $this->mrh_login);
подожди...это надо еще переварить как-то...
...
какая еще нафиг кодировка???!!!
кодировки отличаются только символами старше 128
тоесть вся латиница итдитп в распространенных кодировках совпадают
оно и называется ASCII(символы 0-128)
(Добавление)
бага не в кодировках
 
 Top
Telnet
Отправлено: 10 Мая, 2013 - 18:16:31
Post Id


Частый гость


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


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




Да что то я и сам не могу понять в чем дело
вроде ж как символы ASCII являются частью UTF-8 на сколько я понял это первые 128 символов любой UTF-8 кодировки, значит по сути ASCII и UTF-8 одно и тоже
почему тогда их сервер упорно пишет что не в той кодировке у меня подпись.

Не знаю может потому что я тестирую с локалхоста.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Кодировки и все смежное »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB