Witam, jestem nowy na forum, lecz zaglądałem wcześniej tu często.

Niestety po "przeczytaniu całego internetu", kilku dniowym wyszukiwaniu rozwiązania problemu po różnych forach i innych dziełach nie znalazłem odpowiedzi na dręczący mnie problem, który okazuje się dla mnie "ścianą" przy tworzeniu mojej aplikacji.

Do rzeczy:

Posiadam już zbudowaną stronę główną gdzie do konkretnego div'a zaczytuję fragment kodu obrobionego przez php w update.php:

  1. function update(){
  2. var update = $.get("pages/update.php", function(msg){
  3. $("#content").empty().html(msg);
  4. });
  5. }


na tym etapie wszystko jest w porządku - przychodzą wszystkie dane i cały html tam tworzony.

Lecz w gąszczu tego html'a przychodzącego mam button, po kliknięciu którego w tym nowym html'u ma rozwinąć się div i tam mają się zaciągnąć dane z kolejnego pliku pobierz.php - czego dokonuję funkcją:

  1. $('#parent').on('click',".button", function(){
  2. $(".otwierany_div").slideDown();
  3. vat id = $(this).data('id');
  4. setTimeout(function(){
  5. pobierz(id);
  6. },400);
  7.  
  8. });
  9.  
  10. function pobierz(id){
  11. var szukaj = $.ajax({
  12. url: 'pages/pobierz.php',
  13. data: {id: id},
  14. dataType: "html",
  15. contentType: "charset=utf-8",
  16. success: function(msg){
  17. $(".otwierany_div").html(msg);
  18. }
  19. }).responseText;
  20. }


Dane odpowiednio się zaczytują i wklejają do diva.

Problem polega na tym że msg nie posiada polskich znaków i w div'ie ".otwierany_div" pojawiają się krzaki.

Sytuacja przeze mnie opisywana działa na zasadzie index.php <- update.php <- pobierz.php

Dodam że podczas czytania problemów z kodowaniem znaków w ajax edytowałem mój kod i:
- wszędzie jest ustawione kodowanie UTF-8 - nigdzie nie zmieniane na inne - również w index, edytor kodu też ma ustawione UTF-8
- w plikach php wszędzie u góry jest: header("Content-Type: text/html; charset=utf-8");
- problem występuje w tym jednym przypadku kiedy chcę dodawać ajaxem content do juz dodanego ajaxem contentu

Czy istnieją rozwiązania tego problemu (lub ominięcia i zakodowania sprawy w inny sposócool.gif?

Jeśli zagmatwałem to proszę pytać...

Taki bajer potrzebował bym w wielu miejscach mojego kodu i nie wiem jak to pokonać... Bardzo proszę fachowców o pomoc.

EDIT:
problem rozwiązany sprawdzeniem plików pod względem zapisu z BOM