Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Set name, a Collar a UTF
Forum PHP.pl > Forum > Bazy danych > MySQL
Juraviel
Witam,
Chciałem wyciągnąć z bazy forum dane ostatnich tematów i umieścić je na stronie głównej wordpressa, służy do tego odpowiedni mod. Wszystko działa tylko są krzaki.

W bazie wordpress mam takie ustawienia:
  1. <?php
  2. System kodowania znaków dla MySQL:  [b]  ISO 8859-2 Central European  (latin2)[/b] UTF8_Unicode_ci
  3. ?>


W bazie forum są takie same dane. Jednak w plikach forum i strony charsety ustawione są na
  1. <?php
  2. ?>

Źródło pliku conf z moda:
  1. <?php
  2. /*
  3. Plugin Name: PhpBB Son Basliklar (PhpBB Last Topics)
  4. Description: Phpbb forumdaki son basliklari listeler (List last phpbb forum topics on your wordpress).
  5. Version: 1.0
  6. Author: dmRy <hakan@dmry.net>
  7. */
  8.  
  9.  
  10. DEFINE("SITE_URL","[url="xxxxxxx");
  11. DEFINE("VERITABANI_HOST","localhost");
  12. DEFINE("VERITABANI","xxxxxxxxxxx");
  13. DEFINE("VERITABANI_KULLANICI","xxxxx");
  14. DEFINE("VERITABANI_SIFRE","xxxxxxxxx");
  15. DEFINE("PHPBB_TABLO_PREFIX","xxxxxx_");
  16.  
  17. /* Dil - Languages */
  18.  
  19. DEFINE("PHPBB_MESAJ_IKONU","Mesaj ikonu");
  20. DEFINE("PHPBB_SON_GONDEREN","Son Gönderen&#355;:");
  21. DEFINE("PHPBB_KONU","Konu:");
  22. DEFINE("PHPBB_TARIH","Tarih:");
  23.  
  24.  
  25. function PhpBBSonMesaj($limit=10) {
  26. $baglan = new wpdb(VERITABANI_KULLANICI,VERITABANI_SIFRE,VERITABANI,VERITABANI_HOST);
  27. $count = 1;
  28. $SQL = "SELECT t.topic_id, t.topic_last_post_id, t.topic_title, f.forum_name, f.forum_id FROM ".PHPBB_TABLO_PREFIX."topics t, ".PHPBB_TABLO_PREFIX."forums f where t.forum_id=f.forum_id ORDER BY t.topic_last_post_id DESC LIMIT $limit";
  29. $basliklar = $baglan->get_results($SQL);
  30.  
  31. foreach ($basliklar as $baslik) {
  32. $SQL2 = "SELECT topic_id, poster_id, FROM_UNIXTIME(post_time,'%b %d, %Y Saat: %T') as post_time FROM ".PHPBB_TABLO_PREFIX."posts where post_id='".$baslik->topic_last_post_id."'";
  33. $mesajlar = $baglan->get_row($SQL2);
  34. $SQL3 = "SELECT username, user_id FROM ".PHPBB_TABLO_PREFIX."users where user_id='".$mesajlar->poster_id."'";
  35. $kullanici = $baglan->get_row($SQL3);
  36. $content .= "<li><a href=\"".SITE_URL."/viewtopic.php?t=".$baslik->topic_id."#".$baslik->topic_last_post_id."\" title=\"".$baslik->topic_title."\"><b>".$baslik->topic_title."</b></li>";
  37. $count = $count + 1;
  38. }
  39. echo $content;
  40. $wpdb = new wpdb(DB_USER, DB_PASSWORD, DB_NAME, DB_HOST);
  41. }
  42. ?>


Prosze o radę jak mogę to poprawnie wyświetlić. Dzięki
Indeo
Generalnie jest tak. Patrzysz jaki charset masz na stronie w przeglądarce i przed pobraniem danych z mysql żądasz takiego właśnie kodowania wykonując np. zapytanie:
  1. SET names utf8


wtedy baza niezależnie od tego jakie ma kodowanie (byle z polskimi znakami) wystawi Ci dane w kodowaniu, którego zażądałeś.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.