Очистка входной строки, содержащей двоичный мусор, для получения строки для печати ascii - PullRequest
1 голос
/ 26 марта 2012

В нашем приложении есть текстовое поле, которое контролируется TinyMCE.Если клиент вставляет текст из Word в текстовое поле, Oracle блокирует, когда мы пытаемся сохранить этот текст в нашей базе данных:

ORA-01461: может связывать значение LONG только для вставки в столбец LONG

Очистка текста, скажем, в Блокноте, не вызовет никаких проблем, поэтому я предполагаю, что проблема заключается во входной строке, содержащей некий двоичный мусор, который Oracle использует в качестве разделителя между значениямикоторые используются в строке вставки sql.

Обновление нашего древнего TinyMCE, вероятно, решит проблему, но я также хочу убедиться, что текст действительно чистый при передаче на нижние уровни.Поэтому я подумал, что могу убедиться, что текст является истинным ASCII, а если нет, очистить все, что не проходит как ASCII, с помощью циклического перебора строк на входе и выполнить следующие действия:

line.replaceAll("[^\\p{ASCII}]", "")

Этожизнеспособное решение, а если нет, то какие подводные камни?

1 Ответ

0 голосов
/ 26 марта 2012

Как насчет очистки содержимого пасты, как я описал здесь ?Это также может удалить мусор.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...