![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 162 Pomógł: 12 Dołączył: 20.12.2009 Skąd: Siedlce Ostrzeżenie: (0%) ![]() ![]() |
edytor (eclipse - PDT) zapisuje w UTF-8
w php: w MySql wszystkie połączenia, baza danych, tabele i pola w tabelach utf8 (general ci) na stronie:
w js: Kod $.ajax({ type: "POST", url: "game.php", async: true, dataType: "json", contentType: "application/json; charset=UTF-8", data:"ajaxIdle=true", success: function(msg){ /******/ } }); W bazie mam "Róża", var_dump tablicy w php zwraca "Róża", var_dump wyniku z funkcji json_encode() zwraca null wartość pola w js (po odebraniu) również jest null (problem występuje tylko w polach które zawierają polskie znaki) Ma ktoś pomysł jak temu zaradzić? Myślałem, żeby nazwy zakodować w base64 przed "zJSONowaniem", a później po stroni klienta odkodować, ale jest to niezbyt eleganckie rozwiązanie. W dodatku nie eliminuje ono problemu, a jedynie go omija. Z góry dziękuję za pomoc. EDIT: Kod array(1) { ["area"]=> array(3) { ["objects"]=> array(2) { [0]=> array(8) { ["objectName"]=> string(4) "R�?a" //czasem jest "Róża" bądź "R�?a" /***********/ } /*************/ } /***********/ ["mtime"]=> float(1359582523.4294) } } {"area":{"objects":[{"objectName":null}],"mtime":1359582523.4294}} Wszelkie propozycje mile widziane, terminy mnie gonią ![]() Ten post edytował foxbond 30.01.2013, 22:13:38 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 450 Pomógł: 135 Dołączył: 18.11.2010 Skąd: Wschowa Ostrzeżenie: (0%) ![]() ![]() |
Witaj.
Liczę, że googlowałeś po angielskojęzycznych stronach. Może sprawdź czy przy kodowaniu masz jakieś błędy json_last_error(). Sprawdź na pewno czy pliki których używasz są kodowane w utf-8(czasem projekt ma tę opcję zaznaczoną, a pliki mają swoje, odmienne opcje). Sprawdź na, którym etapie dokładnie tracisz swoje ogonki. Ciężko powiedzieć co jest przyczyną. Zawsze przesyłałem ogonki i problemów nie miałem. Daj znać. Pozdrawiam. -------------------- “ Computers are good at following instructions, but not at reading your mind. ” - Donald Knuth |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 162 Pomógł: 12 Dołączył: 20.12.2009 Skąd: Siedlce Ostrzeżenie: (0%) ![]() ![]() |
Funkcja zwraca wartość 5 czyli "JSON_ERROR_UTF8"
Okazuje się, że dane pobrane z bazy miały już "krzaczki". Błąd mysql: Kod Unknown character set: 'UTF-8' Trochę szukania i okazało się, że było trzeba kodowanie ustawić jako "utf8" a nie "UTF-8" No cuż , dziękuję za pomoc, nie miałem pojęcia o istnieniu funkcji json_last_error(). |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 05:07 |