Zaczne od tego ze musze miec xmla z takim naglowkiem : <?xml version='1.0' encoding='UTF-8' standalone='yes' ?> poniewaz odczytuje tego xma we flashu i tam z innym kodowaniem nie pokarze polskich znakow..


System kodowania znaków dla MySQL: UTF-8
System porownywan dla polaczenia MySQL: UTF-8
tabele w ktorych przechowuje dane: UTF-8
strona kodowa w ktorej sa formularze do wprowadzania tych danych: UTF-8;

teksty ktore sa w bazie maja polskie znaki, kiedy je odczytuje na strone ktora tez jest w kodowaniu UTF-8 rawniez sa polskie znaki, jednak kiedy probuje wygenerowac xml z takim nagowkiem: <?xml version='1.0' encoding='UTF-8' standalone='yes' ?> pokazuje mi krzaki, polskie znaki pokazuje jedynie przy takim naglowku: <?xml version='1.0' encoding='ISO-8859-2' standalone='yes' ?>

Jest to dla mnie starsznie dziwne i niewytumaczalne.. Moze ktos mial podobny problem..

tak wyglada plik php ktory generuje xmla:
  1. <?php
  2.  
  3. require_once('config.php');
  4. require_once("funciones/funciones.php");
  5.  
  6. $fechahoy = date('Y-m-d');
  7. $sql_news = "SELECT * FROM news_news WHERE plec=0 AND opublikowany=1 AND zatwierdzony=1 AND highlight=1 AND data_publikacji<='$fechahoy' ORDER BY data_publikacji DESC LIMIT 4";
  8.  
  9. echo "<?xml version='1.0' encoding='UTF-8'?>";
  10. echo "<el_gl>";
  11. if ($result_news = mysql_query($sql_news)) {
  12. while ($rs_news = mysql_fetch_array($result_news)){
  13.  
  14. if($rs_news['kategoria']==2){
  15. $tipo='LIFESTYLE';
  16. }elseif($rs_news['kategoria']==3){
  17. $tipo='PORADA';
  18. }elseif($rs_news['kategoria']==4){
  19. $tipo='TECHNOLOGIA';
  20. }else{
  21. $id=$rs_news['id'];
  22. $sql_d = "SELECT D.tekst FROM news_news N INNER JOIN news_dyscypliny ND ON N.id=ND.id_news INNER JOIN dyscypliny D ON ND.id_kat=D.id WHERE N.id=$id LIMIT 1";
  23. if ($result_d = mysql_query($sql_d)){
  24. if ($rs_d = mysql_fetch_array($result_d)){
  25. $tipo = strtoupper ($rs_d['tekst']);
  26. }
  27. }
  28. }
  29.  
  30. echo "<element src='".$rs_news['adres']."' typ='".$tipo."' tytul='".$rs_news['tytul']."' tresc='".ucfirst(substr($rs_news['naglowek'],0,110))."' />";
  31. }
  32. }
  33. echo "</el_gl>";
  34. ?>


Udalo sie:)
po polaczeniu z baza wystarczylo wpisac
mysql_query("SET NAMES utf8");

moze komus pomoze..