![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 259 Pomógł: 1 Dołączył: 3.07.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam określone dane (tablica wielowymiarowa) które są przez skrypt pobierane z zewnętrznego serwera. Zapisuje dane za pomoca: a później za kolejnymi razami po odświeżeniu odczytuje z bazy: addslashes powoduje tutaj problem, dodaje to ze wzgledow bezpieczenstwa bo dane wejsciowe moga byc rozne, ale po zapisie gdy zapisuje np taki ciag zankow ę€óąśłżźćń otrzymuje w bazie danych \u0119\u20ac\u00f3\u0105\u015b\u0142\u017c\u017a\u0107\u0144 wiec jak odczytam to z bazy danych usunie mi \ i otrzymam zamiast odkodowanych polskich liter u0119u20acu00f3u0105u015bu0142u017cu017au0107u0144 czyli kompletnie nie to co chcialem ;/ Macie moze jakis pomysl jak to ominac ?;/ |
|
|
-Gość- |
![]()
Post
#2
|
Goście ![]() |
a może spróbuj :
lub |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 207 Pomógł: 44 Dołączył: 18.05.2007 Ostrzeżenie: (0%) ![]() ![]() |
Rozwiązanie problemu na szybko:
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 259 Pomógł: 1 Dołączył: 3.07.2011 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki, czegos takiego szukalem, dodalem tylko sobie jeszcze znak € jako \u20ac oraz rozpisalem to tak:
i jest wszystko ok ![]() |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Po co korzystasz z add/stripslashes? Przed żadnymi niebezpieczeństwami ono nie chroni tutaj. Zapis \uXXXX jest jak najbardziej poprawny i json_decode poprawnie go zinterpretuje jako odpowiedni znak Unikodu. Po prostu zapisuj i odczytuj dane do/z bazy poprawnie (z ukośnikami) i żadnego problemu nie będzie. Chyba, że chcesz dla pozostałych ~60 tys znaków tworzyć sobie regułkę dla str_replace().
Ten post edytował Crozin 4.06.2013, 11:39:35 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 259 Pomógł: 1 Dołączył: 3.07.2011 Ostrzeżenie: (0%) ![]() ![]() |
Czyli wywalic cale add/stripslashes ? W sumie nie pamietam dla czego z tego skorzystalem bo ta aplikacje juz dawno temu napisalem ale wydawalo mi sie ze przy insertach do mysql powinny byc ...
Dla czego dla wszystkich ~60 tys znakow ? tylko polskie litery nie dzialaja, nie bede uzywal chinskich ;p |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
1. MySQL z którego prawdopodobnie korzystasz od 2004 roku wspiera prepared statements. W tym samym roku w PHP pojawił się sterownik MySQLi, a w 2006 PDO, które umożliwiają korzystanie z nich. Jakim cudem w 2013, ktoś nadal ręcznie "klepie inserty"?
Cytat Dla czego dla wszystkich ~60 tys znakow ? tylko polskie litery nie dzialaja, nie bede uzywal chinskich ;p Nie zadziała Ci nic poza kilkudziesięcioma podstawowymi znakami. Pojawi Ci się niemiecki umlaut, albo inny francuski ogonek i całość się rypie.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 13.07.2025 - 00:51 |