Polskie znaki w skrypcie z postami


(Kloc221) #1

Witam mam problem z wyświetlaniem na stronie 10 ostatnich postów z forum, wszystko się ładnie pokazuje ale brakuje polskich znaków. Kodowania na stronie zmienić nie mogę a nie wiem jak inaczej zaradzić temu problemowi… Może dało by się w tym skrypcie dodać te znaki ręcznie ? Nie wiem, czekam na wasze propozycje jak to naprawić…

Oto cały skrypt wyświetlający posty na stronie.

<?php


// USTAWIENIA


// (t) ilo¶ć wy¶wietlanych tematów

$default_tps_number = 10;

// (w) długo¶ć tytułów

$default_tps_title_width = 50;

// (s) miejsce, w jakim zostanie otwarty temat; topic - pocz±tek tematu, post - ostatni post

$default_tps_show = 'post';

// (p) miejsce wy¶wietlania tematu

$default_tps_display_place = '_blank';

// (a) pokazuje liczbe odpowiedzi; 1 - tak, 0 - nie

$default_show_answers = 0;

// (u) pokazuje autora postu; 2 - ostatniego, 1 - pierwszego, 0 - nie pokazuje autora

$default_show_posters = 0;

// (f) pokazuje nazwę forum, w którym znajduję się temat; 1 - tak, 0 - nie

$default_show_forumname = 0;


$adres_forum = 'http://www.forum.gametronik.pl';

// adres forum bez końcowego "/", z "http://" na pocz±tku


// KONIEC USTAWIEN


if($_GET['t']) { $t = $_GET['t']; } else { $t = $default_tps_number; }

if($_GET['w']) { $w = $_GET['w']; } else { $w = $default_tps_title_width; }

if($_GET['s']) { $s = $_GET['s']; } else { $s = $default_tps_show; }

if($_GET['p']) { $p = $_GET['p']; } else { $p = $default_tps_display_place; }

if($_GET['a']) { $a = $_GET['a']; } else { $a = $default_show_answers; }

if($_GET['u']) { $u = $_GET['u']; } else { $u = $default_show_posters; }

if($_GET['f']) { $f = $_GET['f']; } else { $f = $default_show_forumname; }


include 'config.php';


if(!$db = mysql_connect($dbhost, $dbuser, $dbpasswd)) {

echo 'Bł±d!
Nie można poł±czyć się z baz±!';

}

if(!mysql_select_db($dbname, $db)) {

echo 'Bł±d!
Nie można wybrać bazy danych!';

}

mysql_query("set names charset=iso-8859-2");

$result = mysql_query("SELECT * FROM `". $table_prefix ."topics` WHERE forum_id ORDER BY `topic_last_post_id` DESC LIMIT 0 , ". $t);


$licz = 0;

    while($row = mysql_fetch_array($result))

        {

         $licz++;         

         if ($licz % 2 == 0) {

         $class = '#CCCCCC;';

        } else {

         $class = '#999999;';

        }

       $out_title = ''. $row['topic_title'] .'';

       if( $f ) {

          $result_forum = mysql_query("SELECT `forum_name` FROM `". $table_prefix ."forums` WHERE `forum_id` = '". $row['forum_id'] ."'");

          $row['forum_name'] = mysql_result($result_forum, 0);


          $out_forum = '['. $row['forum_name'] .'] ';

       }

   if( $a ) {

      $out_answers = ' ';

   }

   if( $u ) {

      switch($u) {

         case 2:

         $poster[0] = $row['topic_last_poster_id'];

         $poster[1] = $row['topic_last_poster_name'];

         break;


         case 1:

         $poster[0] = $row['topic_poster'];

         $poster[1] = $row['topic_first_poster_name'];

         break;

      }

      $out_poster = ' ['. $poster[1] .']';

   }

   if(strlen($row['topic_title']) > $w) { $row['topic_title'] = substr($row['topic_title'], 0, $w); }


   $output .= $out_forum . $out_title . $out_answers . $out_poster .'
';

}


echo $output;

mysql_close($db);

?>[/code]

(Miroslaw2812) #2

Sprawdź kodowanie znaków bazy danych MySQL. Widzę, że to forum jest kodowane pod utf8 więc baza też powinna mieć takie kodowanie.


(Sitemaster) #3

pytanie, co to takiego?

W mysql nie ma kodowanie iso-8859-2, jest za to: latin2 , …utf-8, latin1 itd.


(Kloc221) #4

Zmieniłem na UTF-8 ale dalej zero reakcji. Ja ten kod wczytuję w stronę na której mam kodowanie iso-8859-2 i nie mogę go zmieniać na stronie… Prawdopodobnie dlatego sypię krzaki…

Nie da się jakoś ręcznie wprowadzić do skryptu polskich znaków ??

np: aby zamieniło “ś na ¶” a “ą na ±” ?


(Sitemaster) #5

http://www.php.net/manual/pl/function.iconv.php


(Kloc221) #6

Okej jakoś sobie poradzę z tym dzięki :slight_smile: Api

EDIT!

Kurcze chyba przeceniłem swoje siły jakoś nie mogę sobie z tym poradzić…

Której funkcji użyć ??

Dalej mam krzaki >> http://www.gametronik.pl/forum/showpost.php