Обсуждение: Problem saving emails to database.

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

Problem saving emails to database.

От
Andre Lopes
Дата:
Hi,

It is the first time that I store emails in a database to send them later...

Let me explain the problem... I'am sending text emails, and to break the lines of the message I use "\n". The first problem was to stores the "\". To INSERT "\n" I need to write "\\n". When I do a SELECT I see "\n" but when I dump the database in the INSERTS I see "\\n".

The problem with this is that when I send an email the "\n" that I see in the SELECT returns simply "n" in the email and does not break the line.

This problem have solution?

Best Regards,

Re: Problem saving emails to database.

От
Raymond O'Donnell
Дата:
On 25/04/2010 18:31, Andre Lopes wrote:
> Let me explain the problem... I'am sending text emails, and to break the
> lines of the message I use "\n". The first problem was to stores the
> "\". To INSERT "\n" I need to write "\\n". When I do a SELECT I see "\n"
> but when I dump the database in the INSERTS I see "\\n".

I think, strictly speaking, you should have E'\\n' in the INSERT in
order to escape the backslashes properly:

postgres=# select '\\n';
WARNING:  nonstandard use of \\ in a string literal
LINE 1: select '\\n';
               ^
HINT:  Use the escape string syntax for backslashes, e.g., E'\\'.
 ?column?
----------
 \n
(1 row)


postgres=# select E'\\n';
 ?column?
----------
 \n
(1 row)


> The problem with this is that when I send an email the "\n" that I see
> in the SELECT returns simply "n" in the email and does not break the line.

What are you using to run the queries and generate the emails? PHP? It
sounds to me as if something else is doing something funny with the
backslash after it gets it from the database.

Ray.

--
Raymond O'Donnell :: Galway :: Ireland
rod@iol.ie