dragossani
25.06.2003, 16:39:21
Ostatnio natknąłem się na problem. Pakiet zmiennych traktowałem funkcją serialize(), następnie wynik zapisywałem w polu bazy danych. Później następował odczyt z tego pola i proces odwrotny, czyli unserialize(). W tym miejscu w niektórych przypadkach pojawiał się błąd: funkcja zwracała false, czyli ciąg nie dawał się przetworzyć na zmienne. Po dłuższej walce doszedłem do wniosku, że winę ponoszą znaki cudzysłowu " użyte w zawartości zmiennych, gdyż są one zarazem znakami kontrolnymi w zserializowanym ciągu. Co ciekawe problem nie występuje gdy pominiemy bazę danych. Bez zapisu do bazy, wszystko działa nawet z cudzysłowami. Problem już zwalczyłem, ale publikuję informację by oszczędzić innym walki. Generalnie zamiana " na " rozwiązuje sprawę.