![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Ripper |
|
|||
![]() Lonely soul... ![]() ![]() Профиль Группа: Участник Сообщений: 920 Регистрация: 30.6.2004 Где: г. Москва Репутация: 1 Всего: 23 |
Доброе утро!
Есть БД, в ней лежит строка, в PHP коде её десериализуют, и вылетает false. Вот строка: http://pastie.org/private/zgebpfcuqg5ffjzayksd2a http://www.functions-online.com/unserialize.html выдает Error at offset 23 of 1397 bytes, но на 23 символе буква "з" в годе издания. Еще странно что подобного рода инфа лежит для каждого товара, но для некоторых строчки не десериализутся, а для некоторых все работает. Длины вроде верные, во всяко случае я еще прогонял через ф-ии самописные которые нашел в инете которые типа фиксят длину. Но в любом случае, почему на 23ем символе ошибка не пойму Спасибо заранее. -------------------- "Он знает: надо смеяться над тем, что тебя мучит, иначе не сохранишь равновесия, иначе мир сведет тебя с ума" - Над кукушкиным гнездом |
|||
|
||||
| Arantir |
|
|||
|
Рыбак без удочки ![]() ![]() Профиль Группа: Участник Сообщений: 960 Регистрация: 18.11.2012 Репутация: 16 Всего: 55 |
эээ... а БД не реляционная?
Просто хранить сериализованные строки в БД - априори неправильно. Да, да, у Вас может оказаться много аргументов мне в ответ, но все же... Если еще не поздно - лучше переделать по-человечески. Проблема, вероятно, в кодировках. Циферки в сериализованной строке указывают количество байт. А есть такая забавная вещь, что в Windows-1251 русские символы по одному байту, а в UTF-8 они по 2 байта. А в других кодировках еще как-то по другому может быть. Вот и ломается все, если где-то конвертация была. Это сообщение отредактировал(а) Arantir - 4.6.2013, 07:34 -------------------- interface Жопа { // ATTENTION: has to be implemented by every class of the project for proper project work } |
|||
|
||||
| Arantir |
|
|||
|
Рыбак без удочки ![]() ![]() Профиль Группа: Участник Сообщений: 960 Регистрация: 18.11.2012 Репутация: 16 Всего: 55 |
Вот, например, строка "Формат 185х250, 622 стр., цв. ил., французский перепл[...]" занимает 432 байта в Windows-1251 и 742 байта в UTF-8.
В какой кодировке у нее 428 байт из оригинальной строки, без понятия. Попытки конвертации указывают, что в других кодировках недостает символов для нормально сохранения этой строки. 428 символов - да, но но не байт. Возможно они были 428 до сохранения в БД, но потом она переделала в строке чего-то по своему усмотрению. Это сообщение отредактировал(а) Arantir - 4.6.2013, 07:54 -------------------- interface Жопа { // ATTENTION: has to be implemented by every class of the project for proper project work } |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |