Thread: Problem saving emails to database.

Problem saving emails to database.

From
Andre Lopes
Date:
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.

From
Raymond O'Donnell
Date:
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