[Zope-DB] Cleaning apostrophes

Lalo Castro laloc at ucsc.edu
Wed Sep 15 18:26:32 EDT 2004

	I apologize if this is a simple enough question.  I am something of a 
	We are using Zope 2.6.0, python 2.1.3, and pSQl 7.3.4 on a freebsd4 
	There is a webform we have that has to be able to accept apostrophes. 
PostgreSQL sees the apostrophes as the end of string and errors out at 
the next character.  We've been trying to build a python script to 
escape the apostrophes before they get sent off to the database, but the 
writing has become problematic.  Here's the script:

import string
unapostrophated = string.replace(apostrophated, "'", "\'")
return (unapostrophated)

	This doesn't work, as python sees the escape character as escaping the 
apostrophe and replaces, say, "here's" with "here's" (as opposed to 
"here\'s", which is what we want.
	We've also tried escaping the escape character ("\\'" which makes 
"here\\'s"), and raw text (r"\'" which makes "here\\'s"), to no 
solution.  PostgreSQL sees the double backslash and errors out.  Other 
attempts were ASCII text ("\034'") and the html code ("?034:'") and 
unicode for apostrophes ("\\a").  None of which worked.
	Is there a way to do this within the python script?  If I am missing a 
solution using another method other than the python script, please let 
me know.
		Thanks in advance for any help.

More information about the Zope-DB mailing list