Обсуждение: odd insert problem, textarea \n replaced with
gives ^M !

Поиск
Список
Период
Сортировка

odd insert problem, textarea \n replaced with
gives ^M !

От
Andrew Sykes
Дата:
Hey there,

I'm having a few issues with JDBC; i'm using the JDBC2 driver with
Postgresql 7.3 on Gentoo.

I've got a textarea in a JSP page, and I'm replacing the newline
characters in the box with <br> using a regular expression. When I
output the result of this to the page as a test, everything looks fine
(i.e. <br>'s in the page source).

I pass this String to a method of a bean that does the inserting into
the DB, and it appears to work fine; but when I use pgsql to check, I
see that the <br> bit of the string has been replaced by a number of
highlighted ^M characters.

The database encoding is SQL_ASCII.

Any idea what's going on?

Re: odd insert problem, textarea \n replaced with
gives

От
Oliver Jowett
Дата:
Andrew Sykes wrote:

> I've got a textarea in a JSP page, and I'm replacing the newline
> characters in the box with <br> using a regular expression. When I
> output the result of this to the page as a test, everything looks fine
> (i.e. <br>'s in the page source).

Is it possible that the replacement is actually not working, and
something is translating ^M to <br> on page output? Perhaps try writing
the string directly to a file or System.err to check?

> I pass this String to a method of a bean that does the inserting into
> the DB, and it appears to work fine; but when I use pgsql to check, I
> see that the <br> bit of the string has been replaced by a number of
> highlighted ^M characters.

I suspect that something between your code and the JDBC driver is not
actually doing what you think it's doing. The driver knows nothing about
HTML escapes or CR/LF in strings, it just passes them on to the backend.

-O