Generalnie swoje strony zawsze koduję w UTF-8.
W obecnym przypadku musiałem zmienić kodowanie na windows-1250, a wynika to z faktu pobierania danych
z serwera IBM AS/400 ( generalnie to nie ma znaczenia i nie wypływa na problem ).
Mam taki oto kod:
<?php require_once('class/class.SQL.php'); $sql = new SQL; $sql->connection(); ?> <html> <head> <title>Test zestawienia</title> <meta http-equiv="Content-type" content="text/html; charset=windows-1250" /> </head> <body> <?php //start szukania ?> <?php $user = $_POST['osoba']; $pass = $_POST['haslo']; $connect = odbc_connect("bank", $user, $pass); if ( !$connect ) { $info = 'NIEPRAWIDŁOWY LOGIN LUB HASŁO .'; $_SESSION['info'] = $info; $color1='red'; $_SESSION['color1'] = $color1; $komentarz = '<font color="'.$_SESSION['color1'].'" size="3"><b>'.$_SESSION['info'].'</b></font>'; $_SESSION['komentarz'] = $komentarz; exit; } elseif ( $connect) { ?> <table width="55%" border="1" align="center"> <tr><td width="25%" align="center">Katowice<br>ul. Testowa 3<br>00-000 Kraków</td><td width="50%" align="center" colspan="3"><img src="../images/logo.jpg" width="300" height="60" /></td><td width="25%" align="center"><b>Kto wykonał: </b><br> <?php echo $user; ?></td></tr> </table> <br> <table width="55%" border="1" align="center"> <tr bgcolor="#00A1FF"><td width="50%" align="center" colspan="4"><b>Raport w liczbach</b></td></tr> <tr bgcolor="yellow"> <td width="5%" align="center"><b>Lp.</b></td><td width="30%" align="center"><b>Miejsce zamieszkania</b></td><td width="10%" align="center"><b>Ilość </b></td><td width="10%" align="center"> </td></tr> <?php $pytanie4="SELECT DADWA1, COUNT(*) as ilosc2 FROM DAWCY GROUP BY DADWA1 ORDER BY ilosc2 DESC, DADWA1 ASC"; $x=0; while(odbc_fetch_row($result4)) { $x++; $odp3 = odbc_result($result4, 1); $odp4 = odbc_result($result4, 2); { $suma1 +=$odp4;
Problem dotyczy sytuacji poniżęj.
Wyniki otrzymuję prawidłowo, z poprawnym kodowaniem. W pierwszej kolumnie otrzymuję kolejny numer.
W drugiej nazwy miast polskich np. Warszawa, Kraków, Lublin, Gdańsk.
W trzeciej wartości liczbowe ( ilość rekordów gdzie wystepuje dana nazwa miasta )
W ostatniej kolumnie mam Szczegóły, gdzie tworzony jest link dodanych rekorów z danego miasta.
Czyli powstaje np link zest6_wyn.php?more2=Warszawa, gdy w niego kliknę otrzymuję adres jaki jest wcześniej.
Problem jest,gdy w nazwach miast wystepują polskie znaki np. Kraków
Gdy najeżdżam myszką na Szczegóły to podśwtetla mi się prawidłowy link
zest6_wyn.php?more2=Kraków
Natomiast gdy, w niego klinkę,otwiera mi się nowa strona z takim adresem
zest6_wyn.php?more2=Krak%F3w
Chciałbym by otwierany link zawierał polskie znaki, gdyż na tej nowej stronie,
w dalszej części kodu wyciągam nazwę miasta z linka, przypisuję do zmiennej i na tej podstawie
tworzę zapytanie do bazy, dlatego muszę otrzymać w linku polskie znaki.
echo '<tr> <td align="center" width="5%">'.$x.'</td> <td width="30%" align="center">'.$odp3.'</td> <td width="10%" align="center""><b>'.$odp4.'</b></td> <td width="10%" align="center"> <a href="zest6_wyn.php?more2='.$odp3.' " target=_blank>Szczegóły</a></td> </tr>'; }} ?> </table> <?php } odbc_close($connect); ?> </body></html>
Jak to można zrobić?