Autor Zpráva
Fastman
Profil
Zdravím,

mám zde problém, že platební brána vrací hodnoty v GET přes charset cp1250, jenže Já mám vše přes UTF-8, takže nevím, jak bych to měl převést v případě, že se tam něco takového vyskytne.

Zkoušel jsem například:
$get_PaymentOrderStatusDescription = $_GET["PaymentOrderStatusDescription"];

if($get_PaymentOrderStatusDescription == "Dr%9Eitel+karty+platbu+zru%9Ail") //podmínku to ignorovalo i když v URL hodnota GET sedí.
{
  $get_PaymentOrderStatusDescription = "Držitel karty platbu zrušil";
}
našel jsem také tohle, jenže to nepomohlo:
iconv(mb_detect_encoding($get_PaymentOrderStatusDescription), "UTF-8", $get_PaymentOrderStatusDescription);

Děkuji všem za odpovědi.
pcmanik
Profil
Fastman:
Zatiaľ každá platobná brána s ktorou som robil vracala kód operácie, tvoja ho nevracia?
Užitočné by bolo vedieť o akú bránu sa jedná minimálne z dôvodu aby sa jej ľudia vyhli keď v roku 2017 používa cp1250 ako vravíš.
Fastman
Profil
Tak tahle platební brána také vrací kód operace ve stylu:
PaymentOrderStatusID - Stav platby: 2 = nerealizováno, 3 = platba byla úspěšně dokončena

jenže víc toho řekne:
PaymentOrderStatusDescription - Popis stavu transakce (např. "Platba kartou byla úspěšná", "Platba byla zamítnuta bankou" apod.)

tohle se bohužel vrací jenom u platby kartou. V jejich testovacím řešení je vše v pořádku. Podle všeho se na to podívají, tak možná to nakonec opraví, ale hledám dočasné řešení. Nechci je nějakým způsobem špinit, jsou v pohodě, jen jsem narazil na tenhle zádrhel.
Kajman
Profil
Když to převedete, tak to vypíše korektně?
echo iconv("CP1250", "UTF-8", $_GET["PaymentOrderStatusDescription"]);
Fastman
Profil
Děkuji, takhle to převede korektně.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: