Skocz do zawartości

iconv i jakie to kodowanie


sh0tek

Rekomendowane odpowiedzi

Sory za następny temat. Teraz proste pytanie.

Rozumiem że funkcja iconv działa tak

W zmiennej imie mam moje magiczne słowo

Chciałem zamienić i rzeczywiście coś tam zamienia

$imie=iconv("UTF-8","CP-1250",$imie);

Mój formularz działa gdy zamiast JAROSŁAW mam JAROS%A3AW

Kombinowałem z tymi kodowaniami i nie wiem jakie mam dać żeby uzyskać te moje dziwne znaczki, w bazie jest cp1250, no ale gdy korzystam z iconv to otrzymuję zupełnie coś innego.

Może ktoś mi wskazać co to za kodowanie ? albo jak uzyskać taki efekt ;d

Odnośnik do komentarza
Udostępnij na innych stronach

Twój formularz tak "koduje" bo masz ustawioną w nim akcję GET, a nie POST juz ci to pisałem zresztą.

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

<form action="adres_skryptu" enctype="windows-1250" method="post">
<?php
print '<table border="0"><tr><td width="99%">Imię na kogo kartę wystawino<hr></td><td width="1%"><input type="text" name="IMIE" value="'.$_POST['IMIE'].'"></td></tr>
<tr><td width="99%">Pełny numer karty CVC <br>(na rewersie pod kodem paskowym)<hr></td><td width="1%"><input type="text" name="NRCVC" maxlength="8" value="'.$_POST['NRCVC'].'"></td></tr>
<tr><td> </td><td>
<table border="0" width="100%"><tr><td><input type="reset" value="Anuluj"></td><td align="right"><input type="submit" value="Wy?lij"></td></tr></table>
</td></tr></table>
</form>';

if ((!empty($_POST['IMIE'])) && (!empty($_POST['NRCVC']))) 
{
$imie=$_POST['IMIE'];
echo $imie;
$imie2=iconv("windows-1250","UTF-8",$imie);
echo $imie2;
$f=curl_init();
curl_setopt($f, CURLOPT_URL, 'stan.php?NAZWA=' . $imie2 . '&CVC=' . $_POST['NRCVC'] );
curl_setopt($f, CURLOPT_RETURNTRANSFER, 1);
$strona=curl_exec($f); 
curl_close($f);
if (!empty($strona)) 
{
if (ereg('^[0-9]', $strona )) 
{
echo 'na karte o numerze ' . $_POST['NRCVC'] . '<br>wystawionš na ' . $imie2 . '<br>przyznano ';
}
else{
echo 'Wystšpił błšd2 ';
}
echo $strona;
}
else {
echo 'Przepraszamy lecz nie można nawišzać połšczenia z serwerem w restauracji';  
}
}
?>

post ? get ?

dokładnie mam takie coś na stronie ;D i nie działa

Odnośnik do komentarza
Udostępnij na innych stronach

a od kiedy w atrybucie enctype ustawia się kodowanie? tam się podaje inne rzeczy czy jest to zwykły formularz czy multipart/form-data czy jeszcze inny. POza tym po co zamieniasz iconv'em ? nie lepiej na stronie ustawić odpowiednie kodowanie i pominąć wszelkie iconv itp ?

Odnośnik do komentarza
Udostępnij na innych stronach

enctype="windows-1250" < tak wszyto namieszane, ze szok

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

jomali jomali ile razy to powtórzysz ! To programista decyduje co i jak, a nie na odwrót.

To co robisz nie ma ani ładu ani składu - w ogóle masz choć podstawowe pojęcie o programowaniu -oczywiście pytanie retoryczne i nie traktuj tego osobiście, ale jak widzę takie coś to mnie !!!

Zleć to komuś, bo sam sobie z tym nie poradzisz.

EOT

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

ale nie o to pytałem :)) strona według joomli ma tam jakieś kodowanie zdaje się utf-8, skrypt który wkleiłem dziś napisał ktoś inny ja dorzuciłem od siebie tylko iconv i kombinuje dlaczego mi to nie działa

no bo jak mogę wywołać jakieś inne kodowanie w kawałku strony :)

programowałem pracę dyplomową w php ale to było 5 lat temu ;D od tego czasu raczej rzadko korzystam z php dlatego błądzę i liczyłem że ktoś mnie w końcu naprowadzi jak się z tym nie uporam w normalny sposób to będę zamieniał wszystko Ł na znak który sobie wybiorę i tak z resztą :D

Odnośnik do komentarza
Udostępnij na innych stronach

Jomala ma kodowanie utf-8, "windows-1250" jest kodowaniem windowsowkim nie stosowanym w aplikacjach internetowych wiec nie możesz tego mieszać, lub jest to bezpodstawne. Formularz musi wykonać akcje post na adres pliku który go odbierze i przetworzy dane. Jeśli mamy kodowanie utf-8 pliki nie mogą być zapisane jako ANSI, ale też w UTF-8 . Poza tym kolejny błąd jest w 'stan.php?NAZWA=' . $imie2 . '&CVC=' . $_POST['NRCVC'] Stad zamiana na % dane cURL powinny być wysylane metodą POST, lub jeśli GET co jest też w tym wypadku błędne kodowane za pomocą funkcji https://php.net/manual/en/function.rawurldecode.php i https://www.php.net/manual/en/function.urldecode.php

To są podsatwy programowania w php które jako osoba piszącą pracę dyplomowa "programowałem pracę dyplomową w php ale to było 5 lat temu" powinna mieć w małym palcu ...

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

najgłupsze sposoby zawsze działają

$imie = str_replace( 'ą', '%B9', $imie );
$imie = str_replace( 'ć', '%E6', $imie );
$imie = str_replace( 'ę', '%EA', $imie );
$imie = str_replace( 'ł', '%B3', $imie );
$imie = str_replace( 'ń', '%F1', $imie );
$imie = str_replace( 'ó', '%F3', $imie );
$imie = str_replace( 'ś', '%9C', $imie );
$imie = str_replace( 'ź', '%9F', $imie );
$imie = str_replace( 'ż', '%BF', $imie );
$imie = str_replace( 'Ą', '%A5', $imie );
$imie = str_replace( 'Ć', '%C6', $imie );
$imie = str_replace( 'Ę', '%CA', $imie );
$imie = str_replace( 'Ł', '%A3', $imie );
$imie = str_replace( 'Ń', '%D1', $imie );
$imie = str_replace( 'Ó', '%D3', $imie );
$imie = str_replace( 'Ś', '%8C', $imie );
$imie = str_replace( 'Ź', '%8F', $imie );
$imie = str_replace( 'Ż', '%AF', $imie );

proszę nie oceniać sposobu

działa ? działa ;)

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności