PostgreSQL高于8.1.3插入引号出错的问题

插入半角的引号时会出现这个错误,目前有无好的解决办法,只有在版本小于或等于8.1.3的时候才不会出这个错,据说为了安全考虑后面的版本当客户端编码为GBK的时候就不允许插入引号了,这可是一个很大的问题,内容里有大多的引号了,不允许插入根本就不科学。
Result  “ERROR: unsafe use of \’ in a string literal at character 50
HINT: Use ” to write quotes in strings. \’ is insecure in client-only encodings.”
[向版主推荐这条信息]
 
            
 
 阿弟
Colonel
 
发贴数: 3855
地区: pgsql天堂
注册时间:
八月 2003
[加入好友列表]
[拒绝这个用户提交的所有信息]  回复:高于8.1.3插入引号出错的问题   五, 09 二月 2007 10:23  
 
用”,不要用\’,不过我用php可以这样写
insert into test values(‘\’\”);,但是psql就不行,可能是php帮忙转换了 
[更新: 五, 09 二月 2007 10:29]

                                         
问题收集区

php+pgsql8.0開發工票工資系統

Email:chenaisheng@pgsqldb.com

 

大小写问题

 
[向版主推荐这条信息]
 
        
 
 李白的爸爸
Second Lieutenant
 
发贴数: 140
注册时间:
三月 2005  回复:高于8.1.3插入引号出错的问题   五, 09 二月 2007 10:41  
 
那岂不是说对插入的数据都要进行一次转义,总觉得这东西怪怪的,弄得我现在都不敢升级,不知道他们在处理这个问题没有,晕了。
[向版主推荐这条信息]
 
            
 
 阿弟
Colonel
 
发贴数: 3855
地区: pgsql天堂
注册时间:
八月 2003
[加入好友列表]
[拒绝这个用户提交的所有信息]  回复:高于8.1.3插入引号出错的问题   五, 09 二月 2007 10:45  
 
因为使用\’有可能会出现不安全,所以才关掉的,你可以将postgresql.conf中的选项escape_string_warning 设置成
escape_string_warning = off,这样就不会发出警告
[更新: 五, 09 二月 2007 11:04]

                                         
问题收集区

php+pgsql8.0開發工票工資系統

Email:chenaisheng@pgsqldb.com

 

大小写问题

 
[向版主推荐这条信息]
 
        
 
 花非花
First Sergeant
 
发贴数: 93
注册时间:
十一月 2003
[加入好友列表]
[拒绝这个用户提交的所有信息]  回复:高于8.1.3插入引号出错的问题   六, 10 二月 2007 08:30  
 
backslash_quote 设为ON 兼容以前
[向版主推荐这条信息]
 
        
 
 李白的爸爸
Second Lieutenant
 
发贴数: 140
注册时间:
三月 2005  回复:高于8.1.3插入引号出错的问题   二, 13 二月 2007 16:14  
 
谢谢二位了,我试一下先。
[向版主推荐这条信息]
 
            
 
 李白的爸爸
Second Lieutenant
 
发贴数: 140
注册时间:
三月 2005  回复:高于8.1.3插入引号出错的问题   二, 13 二月 2007 16:31  
 
经过实验 backslash_quote 设为ON 兼容以前 这个东西有用



发表评论

电子邮件地址不会被公开。 必填项已用*标注

+ 10 = 16