Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Polskie znaki vs server
Forum PHP.pl > Forum > Serwery WWW
xSebaPL
Witajcie, po wgraniu plików na serwer przestały działać niektóre skrypty. Skrypt wraca taki response:
http://zapodaj.net/dc06d37495def.png.html

I tu jest problem, bo zamiast polskich znaków wyświetla ciąg kodu. Czy ktoś może wie jak to naprawić? Kod wygląda tak:
  1. // getMovieList.php
  2. <meta charset="UTF-8">
  3. <?
  4. include("../config.php");
  5. if (!isset($_GET['keyword'])) {
  6. die();
  7. }
  8.  
  9. $keyword = $_GET['keyword'];
  10. $data = searchForKeyword($keyword);
  11. echo json_encode($data);
  12. ?>
  13. //funkcja searchForKeyWord
  14. function searchForKeyword($keyword) {
  15. $db = getDbConnection();
  16. $stmt = $db->prepare("SELECT NAME as movie FROM `movies` WHERE NAME LIKE ? ORDER BY movie");
  17.  
  18. $keyword = '%'.$keyword .'%';
  19. $stmt->bindParam(1, $keyword, PDO::PARAM_STR, 100);
  20.  
  21. $isQueryOk = $stmt->execute();
  22.  
  23. $results = array();
  24.  
  25. if ($isQueryOk) {
  26. $results = $stmt->fetchAll(PDO::FETCH_COLUMN);
  27. } else {
  28. trigger_error('Error executing statement.', E_USER_ERROR);
  29. }
  30.  
  31. $db = null;
  32.  
  33. return $results;
  34. }


Kod wszystko wcześniej działał, więc takie pytanie na początek, czy jest możliwość żeby serwer sam sobie ustawiał kodowanie?
vokiel
Po pierwsze zły dział (proponuję przedszkole).

Dalej, wysyłasz z serwera JSON, ale dodajesz mu tag html, co psuje całą odpowiedź (do usunięcia linia 2). Wtedy zwrócony JSON będzie prawidłowy i najprawdopodobniej to już rozwiąże Twój problem.
xSebaPL
Co do pierwszego, to nie za bardzo wiem jak przenieść bez usuwania postów w temacie, ale na następny raz będę uważał.

A co do skryptu to usunąłem html i problem został. Chcę dodać że wcześniej wszystko działało i to całkiem dobrze.


Poszukam jeszcze w bazie danych, może tam gdzieś jest zmienione kodowanie...

EDIT:
Wszystko w bazie ok, takie pytanie, czy jest opcja żeby to json się psuł na widok polskich znaków? Bo tak po za tym skryptem, to z wyświetlaniem polskich znaków na stronie nie ma problemu
vokiel
Co rozumiesz przez to, że się psuje? Próbowałeś użyć wartości z tego JSON'a i było coś nie tak?
xSebaPL
Chodziło mi o to że może json w jakiś magiczny sposób przestał wyświetlać polskie znaki i w czasie przesylania jsona zmienia znaki na kod
viking
Nie ustawiasz nigdzie prawidłowych nagłówków dla odpowiedzi json, pewnie nie masz dla PDO set names. Skrypt działa na słowo honoru i dziwisz się problemów.
nospor
Cytat
json w jakiś magiczny sposób przestał wyświetlać polskie znaki i w czasie przesylania jsona zmienia znaki na kod
To nie magia, to standard. Mi tam json zawsze zamienia polskie krzaki na takie znaczki i jakos wszystko wysmienicie dziala. W czym wiec jest problem u ciebie procz tej zamiany?
xSebaPL
W tym że powoduje to błędy w dalszej części skryptu...
nospor
Niesamowity opis problemu...

1) Jakie bledy?
2) Skad wiesz ze to przez to?
3) itd itd...
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.