Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [jquery] polskie znaczki...
Vasquez21
post
Post #1





Grupa: Zarejestrowani
Postów: 213
Pomógł: 0
Dołączył: 2.11.2004
Skąd: Jaworzno

Ostrzeżenie: (0%)
-----


Witam...

Nagłówek:

  1. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
  2. <? header("Content-Type: text/html; charset=ISO-8859-2"); ?>


Pierwsza linia wiadomo, a druga gdyż gdzieś doczytałem, że może pomóc...

skrypty...

  1. <script type="text/javascript" src="js/jquery/jquery-1.4.2.js" charset="iso-8859-2"></script>
  2. <script type="text/javascript" src="js/jquery/popupImage.js" charset="iso-8859-2"></script>


przy wywołaniu ajaxa:
  1. $.ajax({
  2. type: 'GET',
  3. url: 'js/jquery/ajax_getInfo.php',
  4. contentType: 'iso-8859-2',
  5. data: 'id_p=' + ID_p + '&guid=' + currentID,
  6. success: function(data)
  7. {


jedynie nie jestem pewien czy w wywoływanym pliczku ajax_getInfo.php należy też coś dodać, kod jest b. prosty:

  1. <?
  2. include "../../connect.php";
  3.  
  4. $query = mysql_query("SELECT Opis FROM Produkty WHERE ID_produktu = '".$_GET['id_p']."'");
  5. $wiersz = mysql_fetch_array($query);
  6.  
  7. $zmienna = '<div class="opis">'.$wiersz['Opis'].'</div>';
  8.  
  9. echo $zmienna;
  10. ?>


będę wdzięczny za jakąkolwiek podpowiedź :/
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
everth
post
Post #2





Grupa: Zarejestrowani
Postów: 782
Pomógł: 153
Dołączył: 21.07.2010

Ostrzeżenie: (0%)
-----


Najprościej zrezygnować z iso na rzecz UTF-8. W twoim przypadku spróbuj:
  1. <?
  2. include "../../connect.php";
  3.  
  4. $query = mysql_query("SELECT Opis FROM Produkty WHERE ID_produktu = '".$_GET['id_p']."'");
  5. $wiersz = mysql_fetch_array($query);
  6.  
  7. $zmienna = '<div class="opis">'.$wiersz['Opis'].'</div>';
  8.  
  9. header("Content-Type: text/html; charset=ISO-8859-2");
  10. echo mb_convert_encoding($zmienna,'ISO-8859-2');
  11. ?>
Go to the top of the page
+Quote Post
Vasquez21
post
Post #3





Grupa: Zarejestrowani
Postów: 213
Pomógł: 0
Dołączył: 2.11.2004
Skąd: Jaworzno

Ostrzeżenie: (0%)
-----


dzięki za odpowiedź.

niestety zaproponowane rozwiązanie nie pomogło

co do UTF-8 to gdybym nie miał już wszystkiego ustawionego pod iso to zapewne tak bym zrobił, ale właśnie chociażby inne skrypty już mam ustawione też pod iso, więc zmiana teraz wszystkiego nie wydaje mi się dobrym rozwiązaniem, póki co liczę, że da się to jednak jakoś rozwiązać.
Go to the top of the page
+Quote Post
everth
post
Post #4





Grupa: Zarejestrowani
Postów: 782
Pomógł: 153
Dołączył: 21.07.2010

Ostrzeżenie: (0%)
-----


Sprawdź sobie jeszcze za pomocą firebuga jakie dostajesz nagłówki odpowiedzi. Napisałeś że dałeś header po znaczniku meta. Jednak mogło się zdarzyć że nagłówek jest modyfikowany w dalszej części skryptu i tak naprawdę przeglądarka dostaje co innego. headery najlepiej zmieniać już tuż przed zakończeniem buforowania.
Go to the top of the page
+Quote Post
Vasquez21
post
Post #5





Grupa: Zarejestrowani
Postów: 213
Pomógł: 0
Dołączył: 2.11.2004
Skąd: Jaworzno

Ostrzeżenie: (0%)
-----


tak jeszcze co do pierwszej sugestii to teraz zauważyłem, że przed zmianami kiedy bezpośrednio wywołałem plik php (żeby sprawdzić odpowiedź) to normalnie się tam wyświetlały polskie znaki, na stronie jednak miałem krzaczki :
"�wietl�wki energooszcz�dnej o trzonku E27 Wy��cznik w obudowie Przew�d 175cm z wtyczk� p�ask� 16A/250V Odleg�o�� od o�wietlanego obiektu min. 0,2m II klasa ochronno�ci Waga: 2380g Zgodno�� z normami europejskimi"

natomiast po dodaniu powyższego kodu w którym już znalazły się te linie:
  1. header("Content-Type: text/html; charset=ISO-8859-2");
  2. echo mb_convert_encoding($zmienna,'ISO-8859-2');


zamiast powyższych krzaczków, wszędzie pojawiają się "?", zarówno podczas podglądu bezpośrednio pliku jak i również podczas wyświetlania przez skrypt.

Cytat
Sprawdź sobie jeszcze za pomocą firebuga jakie dostajesz nagłówki odpowiedzi.

mógłbyś napisać w którym miejscu można sprawdzić te nagłówki odpowiedzi? (IMG:style_emoticons/default/smile.gif)
Jeżeli chodzi Ci o źródło strony to na stronie normalnie pokazuje ISO
Go to the top of the page
+Quote Post
everth
post
Post #6





Grupa: Zarejestrowani
Postów: 782
Pomógł: 153
Dołączył: 21.07.2010

Ostrzeżenie: (0%)
-----


Przeglądarka Chromium/Chrome + Developer Tools - jedno rozwiązanie, sam korzystam i polecam
Przeglądarka Firefox + dodatek FireBug - drugie rozwiązanie

Hm, sprawdź w czym jest zakodowana zmienna. Daj:
  1. var_dump(mb_detect_encoding($zmienna)); //sprawdza jest normalne kodowanie
  2.  
  3. header("Content-Type: text/html; charset=ISO-8859-2");
  4. echo mb_convert_encoding($zmienna,'ISO-8859-2');

I jeszcze na szybko - zobacz jaki będzie efekt gdy skonwertujesz na UTF-8
  1. // header("Content-Type: text/html; charset=ISO-8859-2"); // komentujemy tą linię
  2. echo mb_convert_encoding($zmienna,'UTF-8');
Go to the top of the page
+Quote Post
Vasquez21
post
Post #7





Grupa: Zarejestrowani
Postów: 213
Pomógł: 0
Dołączył: 2.11.2004
Skąd: Jaworzno

Ostrzeżenie: (0%)
-----


Cytat("everth")
I jeszcze na szybko - zobacz jaki będzie efekt gdy skonwertujesz na UTF-8


"¶wietlówki energooszczêdnej o trzonku E27 Wy³±cznik w obudowie Przewód 175cm z wtyczk± p³ask± 16A/250V Odleg³o¶æ od o¶wietlanego obiektu min. 0,2m II klasa ochronno¶ci Waga: 2380g Zgodno¶æ z normami europejskimi"

to samo w obu miejscach

Cytat
var_dump(mb_detect_encoding($zmienna));

zwraca: bool(false)

Go to the top of the page
+Quote Post
everth
post
Post #8





Grupa: Zarejestrowani
Postów: 782
Pomógł: 153
Dołączył: 21.07.2010

Ostrzeżenie: (0%)
-----


Powywalaj te wszystkie swoje charsety (również z ajaxa, zostaw tag meta) i spróbuj jeszcze raz z tym co ci napisałem. Może ktoś widzi rozwiązanie, ja niestety nie -> tutaj masz małą ściągawkę, posprawdzaj sobie według niej. Może pomoże.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.12.2025 - 19:43