Обсуждение: Carriage Returns Disappearing
hi all, my users enter a note. i would like to keep carriage returns intact. however, when i display the data, the two carriage returns are lost and replaced with two spaces. i use adodb's qstr() fumction to handle my excaping upon entry. can anyone help me to keep these carriage returns intact? ironicly, i was asking about what to do about carriage returns a while back b/c i saw them in my development db. uggh! tia... __________________________________ Do you Yahoo!? Yahoo! Small Business - Try our new Resources site http://smallbusiness.yahoo.com/resources/
Hi, On 5/26/05, operationsengineer1@yahoo.com <operationsengineer1@yahoo.com> wrote: > my users enter a note. i would like to keep carriage > returns intact. however, when i display the data, the > two carriage returns are lost and replaced with two > spaces. > > i use adodb's qstr() fumction to handle my excaping > upon entry. There seems to be a problem with ADOdb's escaping PostgreSQL literals routine, because it's commented out and ADOdb is using its default qstr() routine. (I should check it in an suitable time.) Therefore, I advice you to use pg_escape_string(). Regards. P.S. I've traced to qstr() code but couldn't find the adodb_str_replace() function in ADOdb source code used by qstr(). Thus, I cannot give a correct answer about where qstr() dumps your problem.
--- Volkan YAZICI <volkan.yazici@gmail.com> wrote:
> Hi,
>
> On 5/26/05, operationsengineer1@yahoo.com
> <operationsengineer1@yahoo.com> wrote:
> > my users enter a note. i would like to keep
> carriage
> > returns intact. however, when i display the data,
> the
> > two carriage returns are lost and replaced with
> two
> > spaces.
> >
> > i use adodb's qstr() fumction to handle my
> excaping
> > upon entry.
>
> There seems to be a problem with ADOdb's escaping
> PostgreSQL literals
> routine, because it's commented out and ADOdb is
> using its default
> qstr() routine. (I should check it in an suitable
> time.) Therefore, I
> advice you to use pg_escape_string().
>
> Regards.
>
> P.S. I've traced to qstr() code but couldn't find
> the
> adodb_str_replace() function in ADOdb source code
> used by qstr().
> Thus, I cannot give a correct answer about where
> qstr() dumps your
> problem.
>
i used pg_escape_string() and received the same
results. the carriage returns are showing up as
stored in the db. when select the data, though, the
carriage returns are replaced with a single space,
regardless if it is one return or 5 returns.
the sql seems to be pretty standard fare...
$sql_notes = "SELECT notes.assembly_notes
FROM t_product prod, t_link_product_assembly_notes
link, t_assembly_notes notes
WHERE link.product_id = prod.product_id
AND link.assembly_notes_id = notes.assembly_notes_id
AND link.product_id = " . $product_id;
i then send the array of values to another page where
this code displays the array...
$i=1;
foreach ($_SESSION['row_notes'] as $row)
{
print $i.". ".$row['assembly_notes']."<hr />";
$i++;
}
does anyone know why my carriage returns are not
displaying when i call the data?
is it because i send the array to another page via the
session variable?
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
it isn't a sessions issue... i tested my code to the
same page and received the same single space for any
number of carriage returns in my varchar field.
--- operationsengineer1@yahoo.com wrote:
>
> --- Volkan YAZICI <volkan.yazici@gmail.com> wrote:
> > Hi,
> >
> > On 5/26/05, operationsengineer1@yahoo.com
> > <operationsengineer1@yahoo.com> wrote:
> > > my users enter a note. i would like to keep
> > carriage
> > > returns intact. however, when i display the
> data,
> > the
> > > two carriage returns are lost and replaced with
> > two
> > > spaces.
> > >
> > > i use adodb's qstr() fumction to handle my
> > excaping
> > > upon entry.
> >
> > There seems to be a problem with ADOdb's escaping
> > PostgreSQL literals
> > routine, because it's commented out and ADOdb is
> > using its default
> > qstr() routine. (I should check it in an suitable
> > time.) Therefore, I
> > advice you to use pg_escape_string().
> >
> > Regards.
> >
> > P.S. I've traced to qstr() code but couldn't find
> > the
> > adodb_str_replace() function in ADOdb source code
> > used by qstr().
> > Thus, I cannot give a correct answer about where
> > qstr() dumps your
> > problem.
> >
>
> i used pg_escape_string() and received the same
> results. the carriage returns are showing up as
> stored in the db. when select the data, though, the
> carriage returns are replaced with a single space,
> regardless if it is one return or 5 returns.
>
> the sql seems to be pretty standard fare...
>
> $sql_notes = "SELECT notes.assembly_notes
> FROM t_product prod, t_link_product_assembly_notes
> link, t_assembly_notes notes
> WHERE link.product_id = prod.product_id
> AND link.assembly_notes_id = notes.assembly_notes_id
> AND link.product_id = " . $product_id;
>
> i then send the array of values to another page
> where
> this code displays the array...
>
> $i=1;
> foreach ($_SESSION['row_notes'] as $row)
> {
> print $i.". ".$row['assembly_notes']."<hr />";
> $i++;
> }
>
> does anyone know why my carriage returns are not
> displaying when i call the data?
>
> is it because i send the array to another page via
> the
> session variable?
>
> __________________________________________________
> Do You Yahoo!?
> Tired of spam? Yahoo! Mail has the best spam
> protection around
> http://mail.yahoo.com
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 6: Have you searched our list archives?
>
> http://archives.postgresql.org
>
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com