Цитата:самый простой выход поубирать теже пробелы, отстыпы, переводы и т.д.
Ох не думаю я что это самый простой способ.
Вам нужно будет убирать абосолютно все служебные символы в кодировке вашего текста. И потом вернуть их назад. Соответственно в идеале вам нужно удалить все эти символы, запомнить их позиции и сам символ и сохранить эти данные, чтобы сделать обратную вставку.
Не в идеале, но не самое лучшее решение, - удалять все символы, а запоминать только пробелы и переносы строки. и при выборке данных делать их обратную вставку.
Спрашивается, зачем? Если стоит острое ограничение поля TEXT 65535 и нельзя создавать новые таблицы, столбцы и проч., ну пишите те данные которые не уместились в эту же таблицу новой записью.
Логика такая:
Перед отправкой файла в бд, смотрим: < 65535 - пишем в стандартном режиме, > - отрезаем до 65500, дописываем служебный тег <tail> значение id (подсмотреть через SHOW TABLE STATUS) +1 таблицы с текстом</tail> оба куска пишите нормальном режиме отдельными записями в вашу же таблицу.
Останется добавить проверку в запрос на извлечение данных: если конец файла - </tail>, вырезать весь тег, извлекать хвост из таблицы и склеить с извлеченным текстом. Все. (Отредактировано автором: 14 Июня, 2012 - 11:15:47)
|